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

2021-09-07 15:35:59 字數 1214 閱讀 1575

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

先來張倪美人的鎮樓照:

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

#include #include 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()

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馬賽克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 ...

OpenCV 馬賽克效果

馬賽克的原理,即將對應需馬賽克處理區域內的畫素,按小方塊劃分,將每一塊小方塊內不同顏色的畫素使用同一顏色進行替代。如下 import cv2 import numpy as np img cv2.imread test.png 1 imginfo img.shape height imginfo 0...