您的位置:首页 > 运维架构

opencv2 如何获取像素值

2014-03-27 00:28 232 查看
#include <Windows.h>
#include <time.h>
#include "opencv.hpp"

using namespace cv;
void setSaltNoise(cv::Mat& img,int count)
{

srand((unsigned)time(NULL));
for (int i = 0; i < count; i++)
{
int y=rand()%img.rows;//注意 x,y的顺序不要颠倒
int x=rand()%img.cols;

if (img.channels()==1)
{
img.at<uchar>(y,x)=255;
}else if(img.channels()==3)
{
Vec3b v;
v[0]=255;
v[1]=255;
v[2]=255;

img.at<Vec3b>(y,x)=v;

//img.at<cv::Vec3b>(y,x)[0]=255;
//img.at<cv::Vec3b>(y,x)[1]=255;
//img.at<cv::Vec3b>(y,x)[2]=255;
}
}

}

int main()
{

//加载图像
Mat src = imread("C:\\Users\\Administrator\\Desktop\\1.jpg");

//显示原始图像
namedWindow("src");
imshow("src",src);

//给源图像加椒盐噪声
setSaltNoise(src,2000);

//显示加椒盐噪声后的结果
namedWindow("result");
imshow("result",src);

waitKey(0);

return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: