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;
}
#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;
}
相关文章推荐
- OpenCV中如何获取像素
- 如何获取图片的RGB565像素信息
- opencv获取图像像素值的两种方法
- Opencv获取图像上的像素值(win10系统)
- ArcGIS如何获取影像的像素值
- OpenCV获取与设置像素点的值的几个方法
- 如何获取图片中第一个像素的颜色值?
- OpenCV-Mat方式获取图片的像素(二)
- OpenCV获取与设置像素点的值的几个方法
- 如何直接访问CImage地址获取对应像素颜色
- 如何获取图片中第一个像素的颜色值? - 回复 "格兰特" 的问题
- OpenCV学习笔记三:Mat构造函数 初始化 完全复制 获取指针 像素(灰度)值
- 【opencv】获取图片某点像素值的两种方法
- objective-c中如何从UIImage中获取像素信息
- opencv利用鼠标获取图像的像素值
- OpenCV获取某点的像素值
- Opencv&nbsp;获取每个像素值
- opencv中如何访问IplImage图像中每个像素的值
- Delphi如何获取图片中第一个像素的颜色值
- opencv中如何利用mat来获取连续内存的图像区域,并改变形状