OpenCV读出三通道图里某个像素点里三元素中的一个值

OpenCV读出三通道图里某个像素点里三元素中的一个值,第1张

将Vec3b a=mat<Vec3b>(2,2)[2];

改为int a=mat<Vec3b>(2,2)[2];

不然返回Vec3b这个类型 输出肯定是3个数

#include"cvh"

#include"highguih"

#include <iostream>

#include <opencv2/opencvhpp>

using namespace std;

using namespace cv;

int main(int argc, char argv)

{

IplImage myimage = cvLoadImage("D:\\wjpg",1);//通过路径载入,参数1是彩色,0灰度

cvShowImage("w",myimage);

cvWaitKey(2000);//显示的时间2000ms

//像素遍历 *** 作

for(int y=0;y<myimage->height;y++)

{

for(int x=0;x<myimage->width;x++)

{

((uchar)(myimage ->imageData + myimage->widthStepy))[x3]=0;//(0-255) 蓝色通道像素

((uchar)(myimage ->imageData + myimage->widthStepy))[x3+1]=111;//(0-255) 绿色通道像素

((uchar)(myimage ->imageData + myimage->widthStepy))[x3+2]=111;//(0-255) 红色通道像素

}

}//

cvShowImage("w",myimage);

cvWaitKey();

}//修改RGB三个通道的值会使得像素值变化,你们可以试试只修改一个通道的值,而其他两个通道值不变,体会下效果

//彩色的像素点值得读取就是把三个通道的值取出来,灰度图的读取就是把每个像素点的单通道值取出来

这是将现有的像素值重新赋值,你要读出来就不赋值,直接printf三个通道的值就行了,不知道楼主懂了没?

matlab获取整幅图像的像素值的方法:用imread函数,输入M=imread('d:\10JPG');即可。

MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。

MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完成相同的事情简捷得多,并且MATLAB也吸收了像Maple等软件的优点,使MATLAB成为一个强大的数学软件。

扩展资料:

MATLAB的相关要求规定:

1、MATLAB由一系列工具组成。这些工具方便用户使用MATLAB的函数和文件,其中许多工具采用的是图形用户界面。包括MATLAB桌面和命令窗口、历史命令窗口、编辑器和调试器、路径搜索和用于用户浏览帮助、工作空间、文件的浏览器。

2、Matlab是一个高级的矩阵/阵列语言,它包含控制语句、函数、数据结构、输入和输出和面向对象编程特点。用户可以在命令窗口中将输入语句与执行命令同步,也可以先编写好一个较大的复杂的应用程序(M文件)后再一起运行。

3、MATLAB语言是基于最为流行的C++语言基础上的,因此语法特征与C++语言极为相似,而且更加简单,更加符合科技人员对数学表达式的书写格式。使之更利于非计算机专业的科技人员使用。而且这种语言可移植性好、可拓展性极强,这也是MATLAB能够深入到科学研究及工程计算各个领域的重要原因。

参考资料来源:百度百科-MATLAB

int[] pixels = new int[bitgetWidth()bitgetHeight()];//保存所有的像素的数组,宽×高

bitgetPixels(pixels,0,bitgetWidth(),0,0,bitgetWidth(),bitgetHeight());

for(int i = 0; i < pixelslength; i++){

int clr = pixels[i];

int red = (clr & 0x00ff0000) >> 16; //取高两位

int green = (clr & 0x0000ff00) >> 8; //取中两位

int blue = clr & 0x000000ff; //取低两位

Systemoutprintln("r="+red+",g="+green+",b="+blue);

}

其中getPixels中第三个参数要为的宽度

以acd看图为例:

在默认状态下,选中后,在状态栏会显示图像的信息,有图像KB大小也有长宽尺寸,

不过这样一个一个查看太慢了,按Alt + O快捷键或者选择工具菜单>选项,打开选项设置窗口,

选择左侧文件列表>缩略图显示,再点击右侧的缩略图信息

在d出的选取缩略图显示信息中展开图像属性:勾图像大小,展开文件属性:勾选大小(KB)

点击添加按钮,添加到当前显示明细中,点击确定,返回选项窗口,点击确定。

看缩略图下面很清楚的显示出了图像大小,也就是长宽像素值,还有KB大小。

以上就是关于OpenCV读出三通道图里某个像素点里三元素中的一个值全部的内容,包括:OpenCV读出三通道图里某个像素点里三元素中的一个值、怎么访问图像中每个像素的值、matlab中 如何获取整幅图像的像素值等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9416167.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-28
下一篇 2023-04-28

发表评论

登录后才能评论

评论列表(0条)

保存