最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

OpenCV-PS擴(kuò)散毛玻璃效果的實(shí)現(xiàn)代碼

 更新時(shí)間:2021年09月02日 09:13:55   作者:翟天保Steven  
PS的擴(kuò)散效果可以產(chǎn)生類(lèi)似毛玻璃質(zhì)感的效果,使畫(huà)面有些毛毛的感覺(jué)。接下來(lái)通過(guò)本文給大家分享OpenCV-PS擴(kuò)散毛玻璃效果的實(shí)現(xiàn)代碼,一起看看吧

實(shí)現(xiàn)原理

PS的擴(kuò)散效果可以產(chǎn)生類(lèi)似毛玻璃質(zhì)感的效果,使畫(huà)面有些毛毛的感覺(jué)。其實(shí)現(xiàn)可通過(guò)操作像素三通道數(shù)值的方式實(shí)現(xiàn),定義一個(gè)隨機(jī)數(shù)器,將圖像中任一點(diǎn)的數(shù)值賦值為,以該點(diǎn)為中心一定尺寸窗口(如3*3,5*5)內(nèi)隨機(jī)一個(gè)點(diǎn)的數(shù)值。

功能函數(shù)代碼

// 擴(kuò)散效果
cv::Mat Diffusion(cv::Mat src,int size)
{
	int row = src.rows;
	int col = src.cols;
	RNG rng;
	cv::Mat result = src.clone();
	for (int i = size; i < row- size; ++i)
	{
		uchar* t = result.ptr<uchar>(i);
		for (int j = size; j < col- size; ++j)
		{
			int tmp = rng.uniform(0, 2*size+1);
			t[3 * j] = src.at<uchar>(i - size + tmp / (2 * size + 1), 3 * (j - size + tmp % (2 * size + 1)));
			t[3 * j + 1] = src.at<uchar>(i - size + tmp / (2 * size + 1), 3 * (j - size + tmp % (2 * size + 1)) + 1);
			t[3 * j + 2] = src.at<uchar>(i - size + tmp / (2 * size + 1), 3 * (j - size + tmp % (2 * size + 1)) + 2);
		}
	}
	return result;
}

C++測(cè)試代碼

#include <iostream>
#include <string>
#include <opencv2/opencv.hpp>
 
using namespace std;
using namespace cv;
 
cv::Mat Diffusion(cv::Mat src, int size);
 
int main()
{
	cv::Mat src = imread("test.jpg");
	int size = 5;
	cv::Mat result = Diffusion(src,size);
	cv::imshow("original", src);
	cv::imshow("result", result);
	waitKey(0);
	return 0;
}
 
// 擴(kuò)散效果
cv::Mat Diffusion(cv::Mat src,int size)
{
	int row = src.rows;
	int col = src.cols;
	RNG rng;
	cv::Mat result = src.clone();
	for (int i = size; i < row- size; ++i)
	{
		uchar* t = result.ptr<uchar>(i);
		for (int j = size; j < col- size; ++j)
		{
			int tmp = rng.uniform(0, 2*size+1);
			t[3 * j] = src.at<uchar>(i - size + tmp / (2 * size + 1), 3 * (j - size + tmp % (2 * size + 1)));
			t[3 * j + 1] = src.at<uchar>(i - size + tmp / (2 * size + 1), 3 * (j - size + tmp % (2 * size + 1)) + 1);
			t[3 * j + 2] = src.at<uchar>(i - size + tmp / (2 * size + 1), 3 * (j - size + tmp % (2 * size + 1)) + 2);
		}
	}
	return result;
}

測(cè)試效果

圖1 原圖

圖2 5*5擴(kuò)散

圖3 11*11擴(kuò)散

適當(dāng)?shù)卣{(diào)整size,可以改變擴(kuò)散的強(qiáng)度,進(jìn)而帶來(lái)不一樣的質(zhì)感。

如果函數(shù)有什么可以改進(jìn)完善的地方,非常歡迎大家指出,一同進(jìn)步何樂(lè)而不為呢~

到此這篇關(guān)于OpenCV-PS擴(kuò)散毛玻璃效果的文章就介紹到這了,更多相關(guān)OpenCV毛玻璃內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python Selenium Cookie 繞過(guò)驗(yàn)證碼實(shí)現(xiàn)登錄示例代碼

    Python Selenium Cookie 繞過(guò)驗(yàn)證碼實(shí)現(xiàn)登錄示例代碼

    這篇文章主要介紹了Python Selenium Cookie 繞過(guò)驗(yàn)證碼實(shí)現(xiàn)登錄示例代碼,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-04-04
  • python下解壓縮zip文件并刪除文件的實(shí)例

    python下解壓縮zip文件并刪除文件的實(shí)例

    下面小編就為大家分享一篇python下解壓縮zip文件并刪除文件的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-04-04
  • Python中的星號(hào)*還能這么用你知道嗎

    Python中的星號(hào)*還能這么用你知道嗎

    這篇文章主要為大家詳細(xì)介紹了Python中的星號(hào)*用法的相關(guān)資料,文中的示例代碼講解詳細(xì),具有一定的學(xué)習(xí)價(jià)值,感興趣的小伙伴可以跟隨小編一起了解一下
    2023-06-06
  • pytorch 指定gpu訓(xùn)練與多gpu并行訓(xùn)練示例

    pytorch 指定gpu訓(xùn)練與多gpu并行訓(xùn)練示例

    今天小編就為大家分享一篇pytorch 指定gpu訓(xùn)練與多gpu并行訓(xùn)練示例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-12-12
  • python內(nèi)置函數(shù)sorted()用法深入分析

    python內(nèi)置函數(shù)sorted()用法深入分析

    這篇文章主要介紹了python內(nèi)置函數(shù)sorted()用法,結(jié)合實(shí)例形式較為深入的分析了Python內(nèi)置函數(shù)sorted()功能、使用方法及相關(guān)操作注意事項(xiàng),需要的朋友可以參考下
    2019-10-10
  • Python爬蟲(chóng)Scrapy框架CrawlSpider原理及使用案例

    Python爬蟲(chóng)Scrapy框架CrawlSpider原理及使用案例

    這篇文章主要介紹了Python爬蟲(chóng)Scrapy框架(CrawlSpider),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-11-11
  • Python跨平臺(tái)路徑格式不一致的處理方法

    Python跨平臺(tái)路徑格式不一致的處理方法

    你是不是也遇到過(guò) Python 跨平臺(tái)路徑格式不一致的問(wèn)題?在 Windows、macOS 和 Linux 之間切換時(shí),路徑格式的不同簡(jiǎn)直讓人頭疼,今天,我們就來(lái)徹底解決這個(gè)問(wèn)題,并告訴你在實(shí)際開(kāi)發(fā)和打包時(shí),哪種方法更好用,需要的朋友跟著小編一起來(lái)看看吧
    2025-04-04
  • 在langchain中對(duì)大模型的輸出進(jìn)行格式化實(shí)現(xiàn)

    在langchain中對(duì)大模型的輸出進(jìn)行格式化實(shí)現(xiàn)

    這篇文章主要為大家介紹了在langchain中對(duì)大模型的輸出進(jìn)行格式化實(shí)現(xiàn)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-11-11
  • python生成器generator用法實(shí)例分析

    python生成器generator用法實(shí)例分析

    這篇文章主要介紹了python生成器generator用法,實(shí)例分析了python生成器的相關(guān)使用技巧,需要的朋友可以參考下
    2015-06-06
  • Python 字符串、列表、元組的截取與切片操作示例

    Python 字符串、列表、元組的截取與切片操作示例

    這篇文章主要介紹了Python 字符串、列表、元組的截取與切片操作,結(jié)合實(shí)例形式分析了Python針對(duì)字符串、列表、元組的截取與切片相關(guān)操作技巧,需要的朋友可以參考下
    2019-09-09

最新評(píng)論

广宁县| 塔城市| 云南省| 河北省| 柘荣县| 马尔康县| 合作市| 阿勒泰市| 宿州市| 洛宁县| 定兴县| 乐东| 聂荣县| 炉霍县| 蕲春县| 政和县| 长岭县| 昌吉市| 乐至县| 固镇县| 惠安县| 南和县| 绥宁县| 新建县| 马山县| 肥东县| 天水市| 隆回县| 丹棱县| 九台市| 大新县| 平定县| 新建县| 永城市| 岳普湖县| 辉县市| 天水市| 靖州| 海安县| 吉安市| 崇阳县|