python 简单图像处理(12) 伪彩色增强
2010-12-29 15:28
1616 查看
人的生理视觉系统特征对微小的灰度变化感觉不敏感,而对彩色的微小差别极为敏感
利用这一特点么就可以把人眼不敏感的灰度信号映射为人眼灵敏的彩色信号,以增强人对图像中细微变换的分辨率
在图像处理技术中,彩色增强应用十分广泛且效果显著
常见的彩色增强技术主要有假彩色增强和伪彩色增强两大类
(1)假彩色增强
思路是将灰度分层几级,比如我们这里将灰度分为16级
然后每一级灰度对应一种彩色
在查看原图中某像素,找出它所属的灰度级,用相应的彩色代替就行了
(2)伪彩色处理
由灰度值根据一定的映射关系求出R,G,B的值
组成该点的彩色值
典型的映射关系图为
![](https://oscdn.geek-share.com/Uploads/Images/Content/202011/25/2235757bc74221221166b6b3982b6226.png)
编写程序:
效果如下:
![](https://oscdn.geek-share.com/Uploads/Images/Content/202011/25/e09a4c1060946c3a30ecaab10aab1ebe.jpg)
中间为假彩色增强
右边是伪彩色增强
把原本变化不明显的灰度值转变为直观的彩色的变化
好了,伪彩色增强处理相对比较简单。也没有太多可讲的,就到这里吧!
利用这一特点么就可以把人眼不敏感的灰度信号映射为人眼灵敏的彩色信号,以增强人对图像中细微变换的分辨率
在图像处理技术中,彩色增强应用十分广泛且效果显著
常见的彩色增强技术主要有假彩色增强和伪彩色增强两大类
(1)假彩色增强
思路是将灰度分层几级,比如我们这里将灰度分为16级
然后每一级灰度对应一种彩色
在查看原图中某像素,找出它所属的灰度级,用相应的彩色代替就行了
(2)伪彩色处理
由灰度值根据一定的映射关系求出R,G,B的值
组成该点的彩色值
典型的映射关系图为
![](https://oscdn.geek-share.com/Uploads/Images/Content/202011/25/2235757bc74221221166b6b3982b6226.png)
编写程序:
import cv def Color(image): w = image.width h = image.height size = (w,h) iColor = cv.CreateImage(size,8,3) for i in range(h): for j in range(w): r = GetR(image[i,j]) g = GetG(image[i,j]) b = GetB(image[i,j]) iColor[i,j] = (r,g,b) return iColor def GetR(gray): if gray < 127: return 0 elif gray > 191: return 255 else: return (gray-127)*4-1 def GetG(gray): if gray < 64: return 4*gray elif gray > 191: return 256-(gray-191)*4 else: return 255 def GetB(gray): if gray < 64: return 255 elif gray > 127: return 0 else: return 256-(gray-63)*4 def FColor(image,array): w = image.width h = image.height size = (w,h) iColor = cv.CreateImage(size,8,3) for i in range(h): for j in range(w): iColor[i,j] = array[int(image[i,j]/16)] return iColor FCArray = [(0,51,0),(0,51,102),(51,51,102),(51,102,51),\ (51,51,153),(102,51,102),(153,153,0),(51,102,153),\ (153,102,51),(153,204,102),(204,153,102),(102,204,102),\ (153,204,153),(204,204,102),(204,255,204),(255,255,204)] image = cv.LoadImage('lena.jpg',0) iColor = Color(image) iFColor = FColor(image,FCArray) cv.ShowImage('image',image) cv.ShowImage('iColor',iColor) cv.ShowImage('iFColor',iFColor) cv.WaitKey(0)
效果如下:
![](https://oscdn.geek-share.com/Uploads/Images/Content/202011/25/e09a4c1060946c3a30ecaab10aab1ebe.jpg)
中间为假彩色增强
右边是伪彩色增强
把原本变化不明显的灰度值转变为直观的彩色的变化
好了,伪彩色增强处理相对比较简单。也没有太多可讲的,就到这里吧!
相关文章推荐
- 用python简单处理图片(1):打开\显示\保存图像
- 第0000道练习题_Python简单图像处理
- 用python简单处理图片(4):图像中的像素访问
- python 简单图像处理(13)
- python 简单图像处理(15) 图像的傅立叶变换
- 利用python做简单的图像处理
- 用python简单处理图片(4):图像中的像素访问
- Python来完成简单图像处理任务
- python 简单图像处理(13) 二值图腐蚀和膨胀,开运算、闭运算
- 用python简单处理图片(2):图像通道\几何变换\裁剪
- 用python简单处理图片(5):图像直方图
- python 简单图像处理(14) 灰度图腐蚀和膨胀,开运算、闭运算
- 用python简单处理图片(1):打开\显示\保存图像
- 用python简单处理图片(5):图像直方图
- python 简单图像处理(11) 空间域图像锐化(边缘检测)
- 用python简单处理图片(5):图像直方图
- Python图像处理库(PIL)的安装与简单使用
- Python图像处理之简单画板实现方法示例
- 利用Python的PIL库进行简单的图像处理
- 用python简单处理图片(4):图像中的像素访问