1.读图,保存图片
cv::Mat image=cv::imread("E:\\tutu\\tiger.jpg")
//读入老虎图片,绝对路径
2.获取RGB数组指针,这个也是这个程序的核心
uchar* data = image.ptr<uchar>(nrow);
定义得到了unchar类型的指针
image.channels()
//RGB就是三通道,通道数就是3
//如果是RGBA,就是4通道,通道数=4
data[i * 3 + j * w * 3]就表示像素(i,j)位置的r的值
data[i * 3 + j * w * 3+1]就表示像素(i,j)位置的g的值
data[i * 3 + j * w * 3+2]就表示像素(i,j)位置的b的值
void salt(cv::Mat image, int n)
//读出RGB像素值
{
for (size_t nrow = 0; nrow < image.rows; nrow++)
{
uchar* data = image.ptr<uchar>(nrow);
for (size_t ncol = 0; ncol < image.cols * image.channels(); ncol++)
{
cout<<int(data[ncol])<< endl;
//操作数组 data[i * 3 + j * w * 3]i是每一行第i个位置
j是第j列
w是图像宽度
3是三个通道
}
cout << endl;
}
}
3.显示图片
cv::inshow("raw_picture",image)
//显示窗口名字,第一次显示原图