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

2022-10-03 18:36:13 字數 1059 閱讀 9808

一、馬賽克效果

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

以下opencv程式實現馬賽克效果,通過滑鼠左鍵在影象上劃定馬賽克的矩形框。

#include

#include

using namespace cv;

mat imagesourcecopy; //原始影象

mat imagesource; //原始影象拷貝

int neightbourhood = 9; //馬賽克上每個方框的畫素大小

rng rng;

int randomnum; //鄰域內隨機值

point ptl; //左鍵按下時座標

point ptr; //右鍵按下時座標

//滑鼠回掉函式

void www.cppcns.comonmouse(int event, int x, int y, int flag, void *ustg);

程式設計客棧

int main()

void onmouse(int event, int x, int y, int flag, void *ustg)

if (event == cv_event_lbuttonup)

} }

imshow("馬賽克", imagesourcecopy);

waitkey();

} 可以通過改變程式中neightbourhood引數的大小調整小矩形快的大小,實現效果:

二、毛玻璃效果

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

#include

#include

using namespace cv;

int main()

imshow("毛玻璃效果", imageresult);

waitkey();

} 實現效果:

本文標題: opencv實現馬賽克和毛玻璃濾鏡效果

本文位址:

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

馬賽克的實現原理是把影象上某個畫素點一定範圍鄰域內的所有點用鄰域內隨機選取的乙個畫素點的顏色代替,這樣可以模糊細節,但是可以保留大體的輪廓。先來張倪美人的鎮樓照 以下opencv程式實現馬賽克效果,通過滑鼠左鍵在影象上劃定馬賽克的矩形框。include include using namespace...

opencv馬賽克python實現

import cv2 馬賽克 def do mosaic frame,x,y,w,h,neighbor 9 馬賽克的實現原理是把影象上某個畫素點一定範圍鄰域內的所有點用鄰域內左上畫素點的顏色代替,這樣可以模糊細節,但是可以保留大體的輪廓。param frame opencv frame param ...

opencv馬賽克python實現

import cv2 馬賽克 def do mosaic frame,x,y,w,h,neighbor 9 馬賽克的實現原理是把影象上某個畫素點一定範圍鄰域內的所有點用鄰域內左上畫素點的顏色代替,這樣可以模糊細節,但是可以保留大體的輪廓。param frame opencv frame param ...