salt noise

#include<opencv2/opencv.hpp>
#include<iostream>
#include<cstdlib> 
#include<vector>
using namespace std;
using namespace cv;

#define WINDOW_1 "椒盐噪声点1"
#define WINDOW_2 "椒盐噪声点2"

void salt(Mat&, int);
int main()
{

    Mat srcImage = imread("D://vvoo//lena.jpg");

    Mat grayImage;

    cvtColor(srcImage, grayImage/*, CV_8UC1*/, CV_RGB2GRAY);

    imshow("原图", srcImage);

 

    namedWindow(WINDOW_1, WINDOW_AUTOSIZE);

    Mat g_dstImage = grayImage.clone();

    Mat dstImage = srcImage.clone();

    salt(g_dstImage, 3000);

    salt(dstImage, 3000);

    

    imshow(WINDOW_1, g_dstImage);

    imshow(WINDOW_2, dstImage);

    waitKey(0);

    return 0;

}

void salt(Mat&dst, int Saltnum)

{

    int x,y;

    for (int i = 0;i < Saltnum; i++)

    {

        x = rand() % dst.cols;//保证x和y都在src的行数和列数范围内

        y = rand() %dst.rows;

        if (dst.channels() == 1)

        {

            dst.at<uchar>(y, x) = 0;

        }

        if (dst.channels() ==3)

        {

            dst.at<Vec3b>(y, x)[0] = 0;

            dst.at<Vec3b>(y, x)[1] = 0;

            dst.at<Vec3b>(y, x)[2] = 0;

        }

    }

}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • ** 环境说明: ** 1.安装 服务器安装 yum install salt-master -y客户端安装 yu...
    撸大师阅读 5,118评论 0 1
  • "目录号: HY-14280A Metabolic Enzyme/ProteaseNeuronal Signali...
    莫小枫阅读 2,571评论 0 0
  • "目录号: HY-15252 GPCR/G ProteinImmunology/Inflammation- Rep...
    莫小枫阅读 2,415评论 0 0
  • 直播对于视频秒开优化点很多,而点播相对少点,点播秒开优化可以考虑下面几点:1、信息头前置2、做策略提前解析视频信息...
    x_tcan阅读 4,183评论 0 1
  • 小宝打预防针,办理贷款等事项。公司事情还算小忙,本来要列举烘培采购的东西,最后只买了一些材料。买了几件小宝的衣服,...
    cany_ae67阅读 1,882评论 0 0

友情链接更多精彩内容