欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

OpenCV實(shí)現(xiàn)高斯噪聲

 更新時間:2021年06月24日 08:35:59   作者:我有一個夢想  
這篇文章主要為大家詳細(xì)介紹了OpenCV實(shí)現(xiàn)高斯噪聲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下

本文實(shí)例為大家分享了OpenCV實(shí)現(xiàn)高斯噪聲的具體代碼,供大家參考,具體內(nèi)容如下

OpenCV 中提供了fill()函數(shù)可以產(chǎn)生均勻分布或者高斯分布(正態(tài)分布)的隨機(jī)數(shù),我們可以利用該函數(shù)產(chǎn)生符合高斯分布的隨機(jī)數(shù),之后在圖像中加入這些隨機(jī)數(shù)即可 

void fill( InputOutputArray mat, int distType, InputArray a, InputArray b, bool saturateRange = false );
  • mat:用于存放隨機(jī)數(shù)的矩陣,目前只支持低于5通道的矩陣。
  • distType:隨機(jī)數(shù)分布形式選擇標(biāo)志,目前生成的隨機(jī)數(shù)支持均勻分布(RNG::UNIFORM,0)和高斯分布(RNG::NORMAL,1)。
  • a:確定分布規(guī)律的參數(shù)。當(dāng)選擇均勻分布時,該參數(shù)表示均勻分布的最小下限;當(dāng)選擇高斯分布時,該參數(shù)表示高斯分布的均值。
  • b:確定分布規(guī)律的參數(shù)。當(dāng)選擇均勻分布時,該參數(shù)表示均勻分布的最大上限;當(dāng)選擇高斯分布時,該參數(shù)表示高斯分布的標(biāo)準(zhǔn)差。
  • saturateRange:預(yù)飽和標(biāo)志,僅用于均勻分布。

該函數(shù)用于生成指定分布形式的隨機(jī)數(shù)填充矩陣,可以生成符合均勻分布的隨機(jī)數(shù)和符合高斯分布隨機(jī)數(shù)。函數(shù)的第一個參數(shù)輸入用于存儲生成隨機(jī)數(shù)的矩陣,但是矩陣的通道數(shù)必須小于等于4。第二個參數(shù)是選擇隨機(jī)數(shù)分布形式的標(biāo)志,該函數(shù)目前只支持兩種分布形式,分別是均勻分布(RNG::UNIFORM,簡記0)和高斯分布(RNG::NORMAL,簡記1)。函數(shù)的第三個和第四個參數(shù)為確定隨機(jī)數(shù)分布規(guī)律的參數(shù),第三個參數(shù)在均勻分布時表示均勻分布的最小下限,在高斯分布時表示高斯分布的均值;第四個參數(shù)在均勻分布時表示均勻分布的最大上限,在高斯分布時表示高斯分布的標(biāo)準(zhǔn)差。最后一個參數(shù)是預(yù)飽和標(biāo)志,僅用于均勻分布,我們使用其默認(rèn)式即可。

在圖像中添加高斯噪聲大致分為以下4個步驟:

Step1:首先需要創(chuàng)建一個與圖像尺寸、數(shù)據(jù)類型以及通道數(shù)相同的Mat類變量.
Step2:通過調(diào)用fill()函數(shù)在Mat類變量中產(chǎn)生符合高斯分布的隨機(jī)數(shù)。
Step3:將原圖像和含有高斯分布的隨機(jī)數(shù)矩陣相加。
Step4:得到添加高斯噪聲之后的圖像。

簡單示例

//
// Created by smallflyfly on 2021/6/11.
//
 
 
#include "opencv2/opencv.hpp"
#include "opencv2/highgui.hpp"
 
#include <iostream>
 
using namespace std;
using namespace cv;
 
int main() {
 
    Mat im = imread("test.jpg");
    resize(im, im, Size(0, 0), 0.5, 0.5);
 
    Mat gray;
    cvtColor(im, gray, CV_BGR2GRAY);
 
    Mat rgbNoise = Mat::zeros(im.rows, im.cols, im.type());
    Mat grayNoise = Mat::zeros(gray.rows, gray.cols, gray.type());
 
    RNG rng;
    rng.fill(rgbNoise, RNG::NORMAL, 10, 20);
    rng.fill(grayNoise, RNG::NORMAL, 10, 20);
 
    imshow("three channels noise", rgbNoise);
    imshow("one channels noise", grayNoise);
 
    im = im + rgbNoise;
    gray = gray +grayNoise;
 
    imshow("add noise rgb", im);
    imshow("add noise gray", gray);
 
    waitKey(0);
 
    destroyAllWindows();
 
 
    return 0;
 
}

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • C++ 輸入scanf()和輸出printf()的操作

    C++ 輸入scanf()和輸出printf()的操作

    這篇文章主要介紹了C++ 輸入scanf()和輸出printf()的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-12-12
  • 全局靜態(tài)存儲區(qū)、堆區(qū)和棧區(qū)深入剖析

    全局靜態(tài)存儲區(qū)、堆區(qū)和棧區(qū)深入剖析

    在C++中,內(nèi)存可分為系統(tǒng)數(shù)據(jù)區(qū),自由存儲區(qū),文本區(qū),const數(shù)據(jù)區(qū),全局靜態(tài)區(qū),堆區(qū)和棧區(qū)
    2012-11-11
  • C++使用jsoncpp解析json的方法示例

    C++使用jsoncpp解析json的方法示例

    這篇文章主要介紹了C++使用jsoncpp解析json的方法示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-03-03
  • C和C++的函數(shù)調(diào)用約定你知道多少

    C和C++的函數(shù)調(diào)用約定你知道多少

    這篇文章主要為大家詳細(xì)介紹了C和C++的函數(shù)調(diào)用約定,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-03-03
  • 解析C語言與C++的編譯模型

    解析C語言與C++的編譯模型

    C++繼承了C的編譯模型,C語言的編譯鏈接模型相對簡潔,但C++繼承了這些機(jī)制之后變得更加復(fù)雜難以理解,這里就來帶大家簡要解析C語言與C++的編譯模型
    2016-05-05
  • C++實(shí)現(xiàn)逆波蘭式

    C++實(shí)現(xiàn)逆波蘭式

    這篇文章主要為大家詳細(xì)介紹了C++實(shí)現(xiàn)逆波蘭式,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-11-11
  • C++泛型算法的一些總結(jié)

    C++泛型算法的一些總結(jié)

    以下是對C++中的泛型算法進(jìn)行了總結(jié)介紹。需要的朋友可以過來參考下
    2013-08-08
  • c/c++中struct定義、聲明、對齊方式解析

    c/c++中struct定義、聲明、對齊方式解析

    這篇文章通過C/C++的兩種聲明方式開始,給大家詳細(xì)分析了/c+中struct定義、聲明、對齊方式,對此有興趣的朋友可以參考學(xué)習(xí)下。
    2018-03-03
  • C++中map和set封裝實(shí)現(xiàn)示例

    C++中map和set封裝實(shí)現(xiàn)示例

    我們知道,map與set所使用的都是紅黑樹,下面這篇文章主要給大家介紹了關(guān)于C++中map和set封裝實(shí)現(xiàn)的相關(guān)資料,文中通過圖文以及實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-02-02
  • C++ opencv ffmpeg圖片序列化實(shí)現(xiàn)代碼解析

    C++ opencv ffmpeg圖片序列化實(shí)現(xiàn)代碼解析

    這篇文章主要介紹了C++ opencv ffmpeg圖片序列化實(shí)現(xiàn)代碼解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-08-08

最新評論