python - 增强灰度图像的边缘对比度
问题描述
我想对图像进行预处理,以创建一个包含每个像素颜色渐变幅度的黑白图像。
让我详细描述一下这个问题。
假设我们有 2 个像素 P_1, P_2
ifP_1 = [255, 0, 0]
和P_2 = [0,255,0]
它们在朴素灰度上的灰度值为P_1 = 255/3, P_2 = 255/3
如果P_1 =[255,0,0]
再P2 = [255,0,0]
一次P_1 = P_2 = 255/3
但是,如果我们查看这些像素的梯度近似值。
对于第一种情况G = P_1 - P2 = [255, -255, 0]
对于第二种情况G = [0,0,0]
显然这两个是不同的。
由于以下灰度问题,我需要获取此显着图:
原始图像
飞涨:
灰度:
如您所见,在进行灰度化时,具有不同颜色的 2 个区域被映射到相同的灰度值。
我的目标是增强边缘检测,所以我想要的是突出颜色变化的区域,这与灰度化时可能发生的情况相反。
对于这个效果,我使用 opencv 拉普拉斯函数来获得梯度,然后我将梯度的向量幅度转换为标量。这给出了以下结果:
更好,但我想知道除此之外是否还有其他事情可以做,例如反卷积算法。
解决方案
推荐阅读
- mariadb - MariaDB EVENT 自动清除数据库返回警告
- spring-boot - java.lang.AssertionError:预期状态:200 实际:400
- java - 我的世界模组不会启动
- spring-boot - 想要从配置服务器读取网关属性
- python - 如何根据条件为数据框中的值着色并将其导出到 csv 文件?
- javascript - nlp.js - TypeError:无法读取未定义的属性“addLanguage”
- excel - 只读单元格...... .. ......
- css - 使用 `css` 属性样式化 React 组件
- c - 我如何将字符串(作为用户的输入)传递给c中的函数?
- ios - 如何使我的小部件更新更频繁或在应用内发生操作时更新