[AI]/openCV

medianBlur in C++

givemebro 2020. 6. 22. 17:00
반응형
void filter_median() {
	//이미지 저장
	Mat src = imread("C:/Users/givemebro/Desktop/flo.png", IMREAD_GRAYSCALE);

	if (src.empty()) {
		cerr << "Image load failed!" << endl;
		return;
	}
	// src 영상에서 10%에 해당하는 픽셀 값을 0 또는 255로 설정
	int num = (int)(src.total()*0.1);
	for (int i = 0; i < num; i++) {
		int x = rand() % src.cols;
		int y = rand() % src.rows;
		src.at<uchar>(y, x) = (i % 2) * 255;
	}

	// 가우시안필터 수행(표준 편차 : 1)
	Mat dst1;
	GaussianBlur(src, dst1, Size(), 1);

	// 미디언필터 수행(크기 : 3)
	Mat dst2;
	medianBlur(src, dst2, 3);

	imshow("src", src);
	imshow("dst1", dst1);
	imshow("dst2", dst2);

	waitKey();
	destroyAllWindows();
}
int main() {

	filter_median();
	return 0;
}

반응형