C++结合OpenCV:图像的像素处理基础

像素是图像构成的基本单位,像素处理是图像处理的基本操作,可以通过位置索引的形式对图像内的元素进行访问、处理。

二值图像: 是一种特殊的灰度图像,在OPENCV中,将黑定义为0,255定义为白。 在OPENCV中,二值图像/灰度图像以二维数组形式进行存放彩色图像以三维数组形式进行存放(X*Y*3, 通道存放顺序为BGR,X,Y为图像x,y轴向上的像素点个数)。

为了方便理解,我们首先来生成一个8×8大小的数组,用来模拟一个黑色图像,并对其进行简单处理。

【例1】使用OpenCV库来创建一个8x8的黑色图像,所有元素的值都是0,然后修改其中一个像素点的值,并显示修改后的图像。根据题目要求及分析,编写代码如下:

#include <iostream>  

#include <opencv2/opencv.hpp>  

int main() {  

    cv::Mat img = cv::Mat::zeros(8, 8, CV_8UC1);  

    std::cout << "img=\n" << img << std::endl;  

    cv::imshow("one", img);  

    std::cout << "读取像素点img[0,3]=" << img.at<uchar>(0, 3) << std::endl;  

    img.at<uchar>(0, 3) = 255;  

    std::cout << "修改后img=\n" << img << std::endl;  

    std::cout << "读取修改后像素点img[0,3]=" << img.at<uchar>(0, 3) << std::endl;  

    cv::imshow("two", img);  

    cv::waitKey();  

    cv::destroyAllWindows();  

    return 0;  

}

代码分析如下。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值