3通道图像RGB值读取和灰度图像灰度值读取
来源:互联网 发布:多久修一次眉毛知乎 编辑:程序博客网 时间:2024/05/29 11:42
终于弄清楚了,原来灰度图像每个像素灰度值的读取和RGB图像是不一样的。终于理解了通道的概念,RGB因为是三通道,所以需要*3,而灰度图像不需要,是单通道的
下面的程序实现将读入的图片和其灰度图片全变成白色:
#include <cv.h>#include <highgui.h>int main(void){//读入图像IplImage* image = cvLoadImage( "F:\\gaosu1.jpg" );//求出原始图像大小int height=cvGetSize(image).height;int width=cvGetSize(image).width;cvNamedWindow("image",1);cvShowImage("image",image);//3通道图像IplImage* pImg=cvCloneImage(image);cvZero(pImg);//转换成灰度图像之用,1通道IplImage* gray=cvCreateImage(cvGetSize(image),IPL_DEPTH_8U,1);cvZero(gray);for(int i=0;i<height;i++){uchar *ptr = (uchar*) (pImg->imageData + i* pImg->widthStep);uchar *ptr2 = (uchar*) (gray->imageData + i* gray->widthStep);for(int j=0;j<width;j++){ptr[3*j]=255;ptr[3*j+1]=255;ptr[3*j+2]=255;ptr2[j]=255;}}cvNamedWindow("imgw",1);cvShowImage("imgw",pImg);cvNamedWindow("grayw",1);cvShowImage("grayw",gray);cvWaitKey(0);cvDestroyWindow("imgw");cvDestroyWindow("grayw");cvReleaseImage(&pImg);cvReleaseImage(&image);cvReleaseImage(&gray);}
- 3通道图像RGB值读取和灰度图像灰度值读取
- OpenCV 读取灰度图像的灰度值
- c#读取图像灰度值
- 读取单通道图像中的像素,显示具体位置和灰度值
- OpenCV读取灰度图像
- RGB图像之灰度级和通道的理解
- 彩色(RGB/HSV)&灰度 图像像素值读取并保存到txt文件
- java读取图像的rpg以及灰度值,可以对rgb进行修改后输出新图像
- 彩色图像RGB通道分别读到三个灰度图像
- opencv读取图像的灰度值并显示出来
- RGB图像中三个通道的每个灰度值的像素个数
- RGB图像灰度化
- RGB转灰度图像
- opencv将灰度图转化为RGB三通道图像
- 什么是图像灰度值
- OpenCV 读取文件并转换灰度图像
- opencv读取灰度图像像素代码
- CImage读取8位灰度图像数据
- STL 中map 和 set 的知识点总结
- C++ 使用win32API遍历文件夹
- 成员变量在结构体中的偏移——offsetof(type, member)
- POJ 2479 Maximum sum 动态规划 解题报告
- 透视投影的原理和实现
- 3通道图像RGB值读取和灰度图像灰度值读取
- 创建一个Direct3D设备g_pD3D->CreateDevice(D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL, hWnd,
- iphone好的学习和博客地址
- sizeof和strlen解析
- ldap AD属性说明
- linux系统学习(一) (linux基础)
- Android数据库
- 铁道部12306后台技术框架、完整异常栈信息以及技术缺点和漏洞
- mini2440插入usb设备出现: unable to enumerate USB device on port问题的解决,以及使用super vivi对nand flash进行分区