# python code
import cv2
import numpy as np
def blurring_mean():
src = cv2.imread("D:\\projects\\SampleCode\\006939-master\\ch07\\blurring\\rose.bmp", cv2.IMREAD_GRAYSCALE)
if src is None:
print("Image load failed!")
return
cv2.imshow("src", src)
for ksize in range(3, 8, 2):
dst = cv2.blur(src, (ksize, ksize))
desc = f"Mean: {ksize}x{ksize}"
cv2.putText(dst, desc, (10, 30), cv2.FONT_HERSHEY_SIMPLEX, 1.0,
(255), 1, cv2.LINE_AA)
cv2.imshow("dst", dst)
cv2.waitKey(0)
cv2.destroyAllWindows()
def blurring_gaussian():
src = cv2.imread("D:\\projects\\SampleCode\\006939-master\\ch07\\blurring\\rose.bmp", cv2.IMREAD_GRAYSCALE)
if src is None:
print("Image load failed!")
return
cv2.imshow("src", src)
for sigma in range(1, 6):
dst = cv2.GaussianBlur(src, (0, 0), sigma)
desc = f"Gaussian: sigma = {sigma}"
cv2.putText(dst, desc, (10, 30), cv2.FONT_HERSHEY_SIMPLEX, 1.0,
(255), 1, cv2.LINE_AA)
cv2.imshow("dst", dst)
cv2.waitKey(0)
cv2.destroyAllWindows()
def main():
blurring_mean()
blurring_gaussian()
if __name__ == "__main__":
main()
// C++ code
#include "opencv2/opencv.hpp"
#include <iostream>
using namespace cv;
using namespace std;
void blurring_mean();
void blurring_gaussian();
int main(void)
{
blurring_mean();
blurring_gaussian();
return 0;
}
void blurring_mean()
{
Mat src = imread("rose.bmp", IMREAD_GRAYSCALE);
if (src.empty()) {
cerr << "Image load failed!" << endl;
return;
}
imshow("src", src);
Mat dst;
for (int ksize = 3; ksize <= 7; ksize += 2) {
blur(src, dst, Size(ksize, ksize));
String desc = format("Mean: %dx%d", ksize, ksize);
putText(dst, desc, Point(10, 30), FONT_HERSHEY_SIMPLEX, 1.0,
Scalar(255), 1, LINE_AA);
imshow("dst", dst);
waitKey();
}
destroyAllWindows();
}
void blurring_gaussian()
{
Mat src = imread("rose.bmp", IMREAD_GRAYSCALE);
if (src.empty()) {
cerr << "Image load failed!" << endl;
return;
}
imshow("src", src);
Mat dst;
for (int sigma = 1; sigma <= 5; sigma++) {
GaussianBlur(src, dst, Size(0, 0), (double)sigma);
String desc = format("Gaussian: sigma = %d", sigma);
putText(dst, desc, Point(10, 30), FONT_HERSHEY_SIMPLEX, 1.0,
Scalar(255), 1, LINE_AA);
imshow("dst", dst);
waitKey();
}
destroyAllWindows();
}
C++ Code 출처 : OpenCV 4로 배우는 컴퓨터 비전과 머신 러닝 - 황선규 저
'OpenCV' 카테고리의 다른 글
ch07 noise (0) | 2024.05.20 |
---|---|
ch07 filter (0) | 2024.05.20 |
ch06 logical (0) | 2024.05.20 |
ch06 arithmetic (0) | 2024.05.20 |
ch05 contrast (0) | 2024.05.19 |