Qt图像处理技术六:拉普拉斯锐化
Qt图像处理技术六:拉普拉斯锐化
效果图
源码
由该公式得到下方卷积核

使用到的卷积核:

//都把QImage转化为rgb888更好运算
QImage LaplaceSharpen(const QImage &origin)
{
QImage imgCopy;
int width = img.width();
int height = img.height();
int window[3][3] = {0, -1, 0, -1, 4, -1, 0, -1, 0};
if (img.format() != QImage::Format_RGB888) {
imgCopy = QImage(width, height, QImage::Format_RGB888);
} else {
imgCopy = QImage(img);
}
QImage imgCopyrgbImg = QImage(img).convertToFormat(QImage::Format_RGB888);
uint8_t *rgbImg = imgCopyrgbImg.bits();
uint8_t *rgb = imgCopy.bits();
int nRowBytes = (width * 24 + 31) / 32 * 4;
int lineNum_24 = 0;
for (int x = 1; x < img.width(); x++) {
for (int y = 1; y < img.height(); y++) {
int sumR = 0;
int sumG = 0;
int sumB = 0;
for (int m = x - 1; m <= x + 1; m++)
for (int n = y - 1; n <= y + 1; n++) {
if (m >= 0 && m < width && n < height) {
lineNum_24 = n * nRowBytes;
sumR += rgbImg[lineNum_24 + m * 3] * window[n - y + 1][m - x + 1];
sumG += rgbImg[lineNum_24 + m * 3 + 1] * window[n - y + 1][m - x + 1];
sumB += rgbImg[lineNum_24 + m * 3 + 2] * window[n - y + 1][m - x + 1];
}
}
int old_r = rgbImg[lineNum_24 + x * 3];
sumR += old_r;
sumR = qBound(0, sumR, 255);
int old_g = rgbImg[lineNum_24 + x * 3 + 1];
sumG += old_g;
sumG = qBound(0, sumG, 255);
int old_b = rgbImg[lineNum_24 + x * 3 + 2];
sumB += old_b;
sumB = qBound(0, sumB, 255);
lineNum_24 = y * nRowBytes;
rgb[lineNum_24 + x * 3] = sumR;
rgb[lineNum_24 + x * 3 + 1] = sumG;
rgb[lineNum_24 + x * 3 + 2] = sumB;
}
}
return imgCopy;
}
Qt图像处理技术六:拉普拉斯锐化的更多相关文章
- 基础图像处理之混合空间增强——(Java:拉普拉斯锐化、Sobel边缘检测、均值滤波、伽马变换)
相信看过冈萨雷斯第三版数字图像处理的童鞋都知道,里面涉及到了很多的基础图像处理的算法,今天,就专门借用其中一个混合空间增强的案例,来将常见的几种图像处理算法集合起来,看能发生什么样的化学反应 首先,通 ...
- paper 109 :图像处理中的拉普拉斯算子
1.基本理论 拉普拉斯算子是最简单的各向同性微分算子,具有旋转不变性.一个二维图像函数 的拉普拉斯变换是各向同性的二阶导数,定义为: 为了更适合于数字图像处理,将该方程表示为离散形式: 另外 ...
- FPGA与数字图像处理技术
数字图像处理方法的重要性源于两个主要应用领域: 改善图像信息以便解释. 为存储.传输和表示而对图像数据进行处理,以便于机器自动理解. 图像处理(image processing): 用计算机对图像进行 ...
- HTML5图形图像处理技术研究
摘要:图形图像处理平台大部分是传统的C/S架构的桌面应用程序,维护困难,共享性差,而B/S架构的Web程序具有易维护.易共享的优点.本文研究了基于HTML5的Web图形图像处理技术,用HTML5实现了 ...
- GDI+图形图像处理技术中Pen和Brush的简单使用和简单图形的绘制(C#)
1.Graphics Graphics对象是GDI+绘图表面,因此在Windows窗体应用程序中要使用GDI+创建绘图,必须要先创建Graphics.在给窗体注册一个Paint事件后,Graphics ...
- 数字图像处理技术在TWaver可视化中的应用
数字图像处理(Digital Image Processing)又称为计算机图像处理,它是指将图像信号转换成数字信号并利用计算机对其进行处理的过程.常用的图像处理方法有图像增强.复原.编码.压缩等,数 ...
- php图形图像处理技术
图形图像处理技术,gd库的强大支持,PHP的图像可以是PHP的强项,PHP图形化类库,jpgraph是一款非常好用的强大的图形处理工具. 在PHP中加载GD库 gd官方网址下载: http://www ...
- Qt开发技术:QCharts(三)QCharts样条曲线图介绍、Demo以及代码详解
若该文为原创文章,未经允许不得转载原博主博客地址:https://blog.csdn.net/qq21497936原博主博客导航:https://blog.csdn.net/qq21497936/ar ...
- Qt开发技术:图形视图框架(二)场景QGraphicsScene、QGraphicsItem与QGraphicsView详解
前话 Qt的图形视图框架,最核心的三个类为:QGraphicsScene.QGraphicsItem与QGraphicsView. 基于图形框架的高级白板软件Demo QGraphicsSce ...
- 基于Qt的图像处理技术和算法
https://blog.csdn.net/silangquan/article/details/41008183
随机推荐
- 淘宝 NPM 镜像站
应该有不少开发者已经发现,访问淘宝 NPM 已经会自动 301 跳转到 npmmirror.com 新域名,这是我们独立注册和备案的域名. Web 站点:https://npmmirror.com R ...
- php的token管理类(AI生成)
当然,以下是一个简单的 PHP 类,用于生成和管理令牌(token).这个类可以生成一个随机的令牌.验证令牌是否有效,并允许设置一个令牌的过期时间. <?php class Token { pr ...
- 【Abaqus热分析】热膨胀系数设置
来源:帮助文档
- Selenium KPI接口 警告弹 -alert/confirm/promp
应用场景: 有些页面进入后自带弹窗提醒功能需要确认,这时候就需要将焦点定位到alert弹窗上. 使用格式: alert=driver.switchtoalert() alert.accept() 实现 ...
- halo配置踩坑过程小记
写在最前: 终于搞定了最后的一步域名解析配置,其实动态博客的折腾程度也不低于当时的hexo吧,也可能当时的痛苦过程已经忘了..整理一下思路,记录一下配置过程走过的坑. 我是从hexo用了半年想 ...
- kubernetes安装配置使用vGPU
前言 AI 落地时,在某些场景下 AI 模型在训练或者是推理时,其算力要求不需要占用整卡的 GPU,比如只需要0.5卡 GPU 即可满足需求. 在这种情况下,可以使用 GPU 虚拟化技术来解决这个问题 ...
- oracle审计详解
Oracle使用大量不同的审计方法来监控使用何种权限,以及访问哪些对象.审计不会防止使用这些权限,但可以提供有用的信息,用于揭示权限的滥用和误用. 下表中总结了Oracle数据库中不同类型的审计. 审 ...
- .NET原生操作向量数据库实战系列(一):.向量数据库的应用以及与AI结合的畅想
在当今数据驱动的时代,向量数据库(Vector Database)作为一种新兴的数据库技术,正逐渐成为软件开发领域的重要组成部分.特别是在 .NET 生态系统中,向量数据库的应用为开发者提供了构建智能 ...
- 移除任务栏右端"显示桌面"按钮-AutoIt
核心代码 $hwnd = WinGetHandle("[CLASS:Shell_TrayWnd]", "") ControlHide($hwnd, " ...
- [T.2] 团队项目:选题和需求分析
项目 内容 这个作业属于哪个课程 2025年春季软件工程(罗杰.任健) 这个作业的要求在哪里 T.2团队项目:选题和需求分析 团队在这个课程的目标是 学习软件工程相关知识,培养编程和团队协作能力,做出 ...