PhotoShop算法实现--负像(反转)图像处理(七)
2014-11-30 20:36
369 查看
PhotoShop算法实现--负像(反转)图像处理(七)
kezunhai@gmail.com
http://blog.csdn.net/kezunhai
负像(Negative)即通常所称的底片效果,也有人称之为负片或反转(Invert)。负像图像处理算法就是用255减去原图的R、G、B分量值。图像的负像处理实际上久是对色彩进行反转的过程,对于黑白图像,它的处理是将白色变黑色,黑色变白色;对于彩色图像就是用它的不色替换原始颜色。
有三种实现方法:
1)pixelValue = 255 - pixelValue
2) pixelValue = 255^pixelValue(抑或)
3)pixelValue = ~pixelValue (按位非)
实现代码:
提示:在图像处理中,像素与像素之间,或像素与某些特殊常数(如0、0xFF)之间进行按位与、按位或、按位非及抑或等运算,可以大大提高处理效率。
作者:kezunhai 出处:http://blog.csdn.net/kezunhai 欢迎转载或分享,但请务必声明文章出处。
kezunhai@gmail.com
http://blog.csdn.net/kezunhai
负像(Negative)即通常所称的底片效果,也有人称之为负片或反转(Invert)。负像图像处理算法就是用255减去原图的R、G、B分量值。图像的负像处理实际上久是对色彩进行反转的过程,对于黑白图像,它的处理是将白色变黑色,黑色变白色;对于彩色图像就是用它的不色替换原始颜色。
有三种实现方法:
1)pixelValue = 255 - pixelValue
2) pixelValue = 255^pixelValue(抑或)
3)pixelValue = ~pixelValue (按位非)
实现代码:
void PhotoShop::Invert(Mat& img, Mat &gImg ) { if ( gImg.empty()) gImg.create(img.rows, img.cols, img.type()); gImg = cv::Scalar::all(0); int i, j; Size size = img.size(); int chns = img.channels(); if (img.isContinuous() && gImg.isContinuous()) { size.width *= size.height; size.height = 1; } for ( i= 0; i<size.height; ++i) { const unsigned char* src = (const unsigned char*)(img.data+ img.step*i); unsigned char* dst = (unsigned char*)gImg.data+gImg.step*i; for ( j=0; j<size.width; ++j) { //dst[j*chns] = 255- src[j*chns]; //dst[j*chns+1] = 255- src[j*chns+1]; //dst[j*chns+2] = 255- src[j*chns+2]; dst[j*chns] = 255^src[j*chns]; // 抑或 dst[j*chns+1] = 255^src[j*chns+1]; dst[j*chns+2] = 255^src[j*chns+2]; //dst[j*chns] = ~src[j*chns]; // 按位非 //dst[j*chns+1] = ~src[j*chns+1]; //dst[j*chns+2] = ~src[j*chns+2]; } } }实现效果:
提示:在图像处理中,像素与像素之间,或像素与某些特殊常数(如0、0xFF)之间进行按位与、按位或、按位非及抑或等运算,可以大大提高处理效率。
作者:kezunhai 出处:http://blog.csdn.net/kezunhai 欢迎转载或分享,但请务必声明文章出处。
相关文章推荐
- PhotoShop算法实现--图像灰度化处理(六)
- Photoshop图像处理算法实现—明度调整
- PhotoShop算法实现--伪彩色图像处理(八)
- 《Visual C++ 数字图像处理典型算法及实现》学习记录
- “共轭变换”图像处理算法在FPGA 上实现的研究
- 数字图像处理基本算法实现(1)--section3.2基本灰度变换
- 数字图像处理领域的二十四个典型算法及vc实现、第二章
- 图像处理常用算法GPU实现二:基于微分的边缘检测
- 数字图像处理算法实现------------编程心得(1)
- 数字图像处理领域的二十四个典型算法及vc实现、第二章
- 数字图像处理基本算法实现(2)--section3.3直方图处理
- 图像基本处理算法的简单实现(一) 推荐
- 图像处理常用算法GPU实现五:图像对比度增强
- 数字图像处理领域的二十四个典型算法及vc实现、第一章
- 数字图像处理领域的二十四个典型算法及vc实现、上
- 数字图像处理基本算法实现(3)--section3.5-6空间滤波处理
- 数字图像处理领域的二十四个典型算法及vc实现、第一章
- 数字图像处理领域的二十四个典型算法及vc实现、上
- 数字图像处理领域的二十四个典型算法及vc实现、第二章
- 图像处理常用算法GPU实现三:基于模板匹配的边缘检测