没有合适的资源?快使用搜索试试~ 我知道了~
首页qt实现图片锐化处理实验报告
qt实现图片锐化处理实验报告
需积分: 42 277 浏览量
更新于2023-05-30
评论 1
收藏 4.62MB DOC 举报
基于qt实现图片锐化,分别用了laplace锐化模版。 图像锐化的主要目的是增强图像边缘,使模糊的图像变得更加清晰,颜色变得鲜明突出,图像的质量有所改善,产生更适合人眼观察和识别的图像。
资源详情
资源评论
资源推荐

计算机科学与工程学院
天津理工大学
计算机科学与工程学院
实验报告
20 至 20 学年 第 二 学期
实验五 图像的锐化处理
课程名称 数字图像处理
学号 学生姓名 年级
专业 教学班号 实验地点 主 7-215
实验时间 2016 年 4 月 23 日 第 7 节 至 第 8 节
主讲教师 杨淑莹
实验成绩

计算机科学与工程学院
软件运行 效果 算法分析 流程设计 报告成绩 总成绩
实验(五) 实验名称
图像的锐化处理
软件环境
Windows
VC++6.0
硬件环境
PC
实验目的
实现图像的锐化处理。
实验内容(应包括实验题目、实验要求、实验任务等)
1. 设计并实现两种新的图像锐化处理方法。
要求:了解图像锐化基本原理,实现图像锐化。
说明:图像的锐化基本原理
任务:
(1)在左视图中打开一幅位图。
(2)制作两个【图像的 xx 锐化】菜单,将消息映射到右视图中,在右视图
中实现图像的拉普拉斯锐化。
实验过程与实验结果
(写出实验所用方法的基本原理,实施的步骤、代码、效果图)
2

计算机科学与工程学院
锐化基本原理:
图像锐化的主要目的是增强图像边缘,使模糊的图像变得更加清晰,颜色
变得鲜明突出,图像的质量有所改善,产生更适合人眼观察和识别的图像。
常见的锐化算法有微分法和高通滤波法。微分法又以梯度锐化和拉普拉斯锐
化较为常用。本示例采用微分法中的梯度锐化,用差分近似微分,则图像在点
(i,j)处的梯度幅度计算公式如下:
G[f(i,j)]=abs(f(i,j)-f(i+1,j))+abs(f(i,j)-f(i,j+1))
为了更好的增强图像边缘,引入一个阈值,只有像素点的梯度值大于阈值时
才对该像素点进行锐化,将像素点的 R 、 G、 B 值设置为对应的梯度值与一
个常数之和。常数值的选取应当参考图像的具体特点。
实现代码:
void MainWindow::on_action2_triggered()//灰度图锐化
{
QImage img=ui->label2->pixmap()->toImage();
int width=img.width();
int height=img.height();
QImage iGray(width,height,QImage::Format_RGB32);
for(int i=0; i<width; i++){
for(int j=0;j<height; j++){
QRgb pixel = img.pixel(i,j);
int gray = qGray(pixel);
QRgb grayPixel = qRgb(gray,gray,gray);
iGray.setPixel(i,j,grayPixel);
}
}
unsigned char *data=iGray.bits();
int bytePerLine=(width*24+31)/8;//图像每行字节对齐
QImage *grayImg;//处理后灰度图像
unsigned char *graydata=new unsigned
char[bytePerLine*height];//存储处理后的数据
unsigned char setr[9],setg[9],setb[9];
for (int i=0;i<height;i++)
{ for (int j=0;j<width;j++)
{
if(i==0||j==0||i==height-1||j==width-1){
graydata[i*bytePerLine+j*3]=*(data+2);
graydata[i*bytePerLine+j*3+1]=*(data+1);
3
剩余12页未读,继续阅读

















安全验证
文档复制为VIP权益,开通VIP直接复制

评论0