亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > C > 正文

OpenCV實現馬賽克和毛玻璃濾鏡效果

2020-01-26 13:47:07
字體:
來源:轉載
供稿:網友

本文為大家分享了OpenCV實現馬賽克和毛玻璃濾鏡的具體代碼,供大家參考,具體內容如下

一、馬賽克效果

馬賽克的實現原理是把圖像上某個像素點一定范圍鄰域內的所有點用鄰域內隨機選取的一個像素點的顏色代替,這樣可以模糊細節,但是可以保留大體的輪廓。

以下OpenCV程序實現馬賽克效果,通過鼠標左鍵在圖像上劃定馬賽克的矩形框。

#include <core/core.hpp> #include <highgui/highgui.hpp>  using namespace cv;  Mat imageSourceCopy; //原始圖像 Mat imageSource; //原始圖像拷貝 int neightbourHood = 9; //馬賽克上每個方框的像素大小  RNG rng; int randomNum; //鄰域內隨機值  Point ptL; //左鍵按下時坐標 Point ptR; //右鍵按下時坐標  //鼠標回掉函數 void onMouse(int event, int x, int y, int flag, void *ustg);  int main() {   imageSourceCopy = imread("Test.jpg");   imageSource = imageSourceCopy.clone();   //imshow("馬賽克", imageSourceCopy);   namedWindow("馬賽克");   setMouseCallback("馬賽克", onMouse);   waitKey(); }  void onMouse(int event, int x, int y, int flag, void *ustg) {   if (event == CV_EVENT_LBUTTONDOWN)   {     ptL = Point(x, y);   }   if (event == CV_EVENT_LBUTTONUP)   {     //對鼠標畫出的矩形框超出圖像范圍做處理,否則會越界崩潰     x > imageSource.cols - 2 * neightbourHood ? x = imageSource.cols - 2 * neightbourHood : x = x;     y > imageSource.rows - 2 * neightbourHood ? y = imageSource.rows - 2 * neightbourHood : y = y;      //對鼠標從右下往右上畫矩形框的情況做處理     ptR = Point(x, y);     Point pt = ptR;     ptR.x < ptL.x ? ptR = ptL, ptL = pt : ptR = ptR;     for (int i = 0; i < ptR.y - ptL.y; i += neightbourHood)     {       for (int j = 0; j < ptR.x - ptL.x; j += neightbourHood)       {         randomNum = rng.uniform(-neightbourHood / 2, neightbourHood / 2);         Rect rect = Rect(j + neightbourHood + ptL.x, i + neightbourHood + ptL.y, neightbourHood, neightbourHood);         Mat roi = imageSourceCopy(rect);         Scalar sca = Scalar(           imageSource.at<Vec3b>(i + randomNum + ptL.y, j + randomNum + ptL.x)[0],           imageSource.at<Vec3b>(i + randomNum + ptL.y, j + randomNum + ptL.x)[1],           imageSource.at<Vec3b>(i + randomNum + ptL.y, j + randomNum + ptL.x)[2]);         Mat roiCopy = Mat(rect.size(), CV_8UC3, sca);         roiCopy.copyTo(roi);       }     }   }   imshow("馬賽克", imageSourceCopy);   waitKey(); } 

可以通過改變程序中neightbourHood參數的大小調整小矩形快的大小,實現效果:

二、毛玻璃效果

毛玻璃效果的實現通過用像素點鄰域內隨機一個像素點的顏色替代當前像素點的顏色實現。

#include <core/core.hpp> #include <highgui/highgui.hpp>  using namespace cv;  int main() {   Mat imageSource = imread("Test.jpg");   Mat imageResult = imageSource.clone();   RNG rng;   int randomNum;   int Number = 5;    for (int i = 0; i < imageSource.rows - Number; i++)     for (int j = 0; j < imageSource.cols - Number; j++)     {       randomNum = rng.uniform(0, Number);       imageResult.at<Vec3b>(i, j)[0] = imageSource.at<Vec3b>(i + randomNum, j + randomNum)[0];       imageResult.at<Vec3b>(i, j)[1] = imageSource.at<Vec3b>(i + randomNum, j + randomNum)[1];       imageResult.at<Vec3b>(i, j)[2] = imageSource.at<Vec3b>(i + randomNum, j + randomNum)[2];     }   imshow("毛玻璃效果", imageResult);   waitKey(); } 

實現效果:

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。 

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲免费视频网站| 91亚洲国产成人精品性色| 国模私拍视频一区| 亚洲激情视频网站| 亚洲香蕉成人av网站在线观看| 91国内揄拍国内精品对白| 欧美亚洲另类制服自拍| 北条麻妃久久精品| 成人深夜直播免费观看| 久久成人国产精品| 亚洲精品日韩丝袜精品| 亚洲精品福利在线观看| 国产人妖伪娘一区91| 色综合久久久久久中文网| 九色成人免费视频| 日韩性xxxx爱| 国产亚洲欧美日韩精品| 韩国精品美女www爽爽爽视频| 69久久夜色精品国产69| 亚洲人午夜精品| 色偷偷888欧美精品久久久| 国产精品久久久久久久一区探花| 中文字幕欧美亚洲| 亚洲人成在线观| 欧美一级黑人aaaaaaa做受| 国产亚洲精品久久| 国产精品一区二区性色av| 中文字幕日韩精品有码视频| 日韩视频中文字幕| 国产精品老女人精品视频| 欧美性xxxxxxx| 国产做受高潮69| 国内伊人久久久久久网站视频| 欧美性videos高清精品| 精品国产欧美一区二区三区成人| 91精品国产自产在线老师啪| 久久色精品视频| 中文字幕欧美专区| 国产精品成人v| 国产精品久久久久av| 91成人性视频| 91欧美日韩一区| 欧美性xxxxxxxxx| 久久久国产视频91| 日韩精品在线观看网站| 久久免费视频在线| 精品免费在线视频| 91精品久久久久久久久| 亚洲free性xxxx护士hd| 97久久精品国产| 日韩一区二区三区在线播放| 欧洲精品久久久| 精品国产依人香蕉在线精品| 欧洲精品久久久| 欧美色图在线视频| 一区二区亚洲欧洲国产日韩| 精品欧美激情精品一区| 国产情人节一区| 色偷偷噜噜噜亚洲男人| 欧美插天视频在线播放| 日韩黄色高清视频| 国产精品视频网| 精品亚洲一区二区三区在线播放| 一区二区成人av| 亚洲人成电影在线| 91精品国产91久久久| 国产精品视频久久久| 久久亚洲国产精品| 欧美性极品少妇精品网站| 日韩综合中文字幕| 国产精品色婷婷视频| 久久精品国产精品| 视频一区视频二区国产精品| 一区二区成人精品| 91免费高清视频| 成人在线精品视频| 日本免费在线精品| 热99在线视频| 青青久久aⅴ北条麻妃| 中文字幕无线精品亚洲乱码一区| 在线看片第一页欧美| 亚洲精品国产拍免费91在线| 久久人人爽国产| 国产欧美一区二区白浆黑人| 国产精品对白刺激| 成人福利在线视频| 欧美麻豆久久久久久中文| 国产亚洲精品91在线| 97视频免费在线看| 伊人青青综合网站| 国产精品www| 日韩av在线免费观看| 日韩精品欧美激情| 欧美性猛交xxxx久久久| 国产性猛交xxxx免费看久久| 亚洲欧洲偷拍精品| 亚洲精品美女在线观看| 视频在线观看一区二区| 3344国产精品免费看| 国产精品福利小视频| 欧美野外wwwxxx| 久久91精品国产91久久久| 茄子视频成人在线| 国产日韩在线亚洲字幕中文| 国产精品高清在线观看| 国产在线观看不卡| 国产精品日韩欧美综合| 国内精品一区二区三区| 国产主播喷水一区二区| 久久久久久久久久国产| 亚洲综合中文字幕在线观看| 久久av资源网站| 国产成人精品免费视频| 亚洲乱码一区二区| 欧美高清在线视频观看不卡| 视频一区视频二区国产精品| 国自产精品手机在线观看视频| 久久人人97超碰精品888| 久久国产精品久久久久久| 久久久久久九九九| 中文字幕自拍vr一区二区三区| 国产视频亚洲精品| 91chinesevideo永久地址| 91成人天堂久久成人| 日韩成人在线播放| 午夜精品在线视频| www.日韩免费| 色婷婷综合成人av| 中文字幕久热精品视频在线| 国产精品日韩欧美综合| 在线观看精品国产视频| 国内偷自视频区视频综合| 51久久精品夜色国产麻豆| 精品国产精品三级精品av网址| 国产欧美一区二区三区四区| 亚洲精品免费网站| 国产精品高潮呻吟久久av野狼| 38少妇精品导航| 日本在线观看天堂男亚洲| 国产精品1区2区在线观看| 欧美猛交ⅹxxx乱大交视频| 欧美性受xxxx黑人猛交| 精品电影在线观看| 91福利视频网| 欧美日韩在线视频观看| 亚洲一区二区三区成人在线视频精品| 欧美一区第一页| 欧美黄色小视频| 欧美香蕉大胸在线视频观看| 亚洲国产精品一区二区久| 欧美成人午夜剧场免费观看| 一区二区三区视频观看| 国内精品久久久久久| 亚洲国产古装精品网站| 亚洲一级片在线看| 热re91久久精品国99热蜜臀| 国产成人激情小视频| 91久久在线观看| www.亚洲天堂| 欧美激情免费看| 97视频国产在线| 国产日韩精品视频| 日韩视频永久免费观看| 懂色av一区二区三区|