OpenCV学习笔记-彩色图像取反
来源:互联网 发布:国际通用聊天软件 编辑:程序博客网 时间:2024/05/18 01:31
OpenCV 图像取反:将图像变为原来图像的反色。例如,如果一副灰度图像的每个像素值由2^8=256个,假设点(i,j)出像素值为 a,则取反后的像素值为 255-a。
取反公式:
inv(i,j)=L-1-a(i,j) //L表示图像的灰度级
以下是利用OpenCV将彩色图像取反并保存的源代码:
#include <highgui.h> #include <core/core.hpp> #include <cv.h> #include <iostream> using namespace std; int main() { IplImage *img=0,*outImage=0; int height,width,step,channels; uchar *data; img=cvLoadImage("D:\\robot\\Picture_set1\\机器人图片.png"); //由图像路径获得图像,可以修改 if (!img) { cout<<"Could not load image file: "<<endl; exit(0); } /*获取图像相关信息*/ height=img->height; width=img->width; step=img->widthStep; channels=img->nChannels; data=(uchar*)img->imageData; outImage =cvCreateImage(cvSize(width,height),img->depth,channels); cout<<"Processing a "<<height<<"*"<<width<<" image with "<<channels<<"channels"<<endl; const char winName1[]="inputImage"; const char winName2[]="outputImage"; cvNamedWindow(winName1,CV_WINDOW_AUTOSIZE); cvMoveWindow(winName1,100,100); cvNamedWindow(winName2,CV_WINDOW_AUTOSIZE); cvMoveWindow(winName2,400,400); cvShowImage(winName1,img); for (int i=0;i<height;++i) { for (int j=0;j<width;++j) { for (int k=0;k<channels;++k) { data[i*step + j*channels + k]=255-data[i*step + j*channels + k]; //每个通道每个像素取反 } } } outImage=cvCloneImage(img); cvShowImage(winName2,outImage); if (!cvSaveImage("myself.jpg",outImage)) //保存图像 { cerr<<"Save image failed!"<<endl; } cvWaitKey(0); cvReleaseImage(&outImage); cvReleaseImage(&img); return 0; }
0 0
- OpenCV学习笔记-彩色图像取反
- OpenCV学习笔记(二):彩色图像取反
- 利用matlab对彩色图像进行取反
- opencv学习(二)分别显示彩色图像的RGB通道,以及图像的反色处理
- OpenCV学习笔记二:灰色图像转换成彩色图像 非CV_GRAY2RGB
- OpenCv学习笔记(四):使用split函数提取彩色图像的三个通道
- opencv简单的彩色图像灰度化和二值化(学习笔记)
- opencv 彩色图像直方图
- MATLAB学习笔记 彩色图像处理
- opencv学习笔记之彩色目标追踪
- OpenCV学习——图像反色
- Linux下Opencv入门编程一 (图像取反)
- 第一次图像取反
- opencv 彩色图像对比度增强
- opencv 彩色图像对比度增强
- opencv 彩色图像对比度增强
- opencv 彩色图像对比度增强
- Opencv彩色图像均衡问题
- SSH整合
- CentOS7.2.1511 gcc4.8.5 通过编译的 tfs2.2.16
- (04)Struts2_helloWorld
- (十)雇员分页显示
- yahoo 关于页面优化的黄金法则
- OpenCV学习笔记-彩色图像取反
- 去掉mysql ONLY_FULL_GROUP_BY!
- Cocoa代码规范
- 字母条
- PHP 缓冲输出
- 安卓按钮添加监听的三种方法
- shell脚本——字符串变量
- 知识梳理------进程(二)
- hdu5536 Chip Factory(Tire)