Hướng dẫn low pass filter python opencv - bộ lọc thông thấp python opencv

Nội dung

  • Giới thiệu
  • Ví dụ 1: Bộ lọc vượt qua OpenCV với tích chập 2D
  • Ví dụ 2: Bộ lọc Pass High OpenCV với tích chập 2D
  • Ví dụ 3 - Hạt nhân tùy chỉnh
  • Bản tóm tắt

Python OpenCV - CV2.filter2d ()

Lọc hình ảnh là một kỹ thuật để lọc một hình ảnh giống như tín hiệu âm thanh một chiều, nhưng trong 2D.

Trong hướng dẫn này, chúng ta sẽ tìm hiểu cách lọc hình ảnh bằng cách sử dụng chức năng 2D với hàm cv2.filter2d (). Sự kết hợp xảy ra giữa hình ảnh nguồn và kernel.

Kernel là một mảng khác, thường nhỏ hơn hình ảnh nguồn và xác định hành động lọc. Hạt nhân có thể là một đường chuyền cao, đường chuyền thấp hoặc một phong tục có thể phát hiện các tính năng nhất định trong hình ảnh.

Một bộ lọc thông thấp giống như một quá trình trung bình. Nhưng với trọng lượng và nhịp trung bình tùy thuộc vào hình dạng và nội dung của hạt nhân.

Một bộ lọc vượt qua cao giống như một máy dò cạnh. Nó cho một mức cao khi có một sự thay đổi đáng kể trong các giá trị pixel liền kề.

Ngoài ra, bạn có thể sử dụng bộ lọc tùy chỉnh, để phát hiện các vòng tròn, hình vuông hoặc một số hình dạng tùy chỉnh bạn muốn phát hiện trong hình ảnh.

Ví dụ 1: Bộ lọc vượt qua OpenCV với tích chập 2D

Ví dụ 2: Bộ lọc Pass High OpenCV với tích chập 2D

  • Ví dụ 3 - Hạt nhân tùy chỉnh
  • Bản tóm tắt
  • Python OpenCV - CV2.filter2d ()

Lọc hình ảnh là một kỹ thuật để lọc một hình ảnh giống như tín hiệu âm thanh một chiều, nhưng trong 2D.

import numpy as np
import cv2

#read image
img_src = cv2.imread('sample.jpg')

#prepare the 5x5 shaped filter
kernel = np.array([[1, 1, 1, 1, 1], 
                   [1, 1, 1, 1, 1], 
                   [1, 1, 1, 1, 1], 
                   [1, 1, 1, 1, 1], 
                   [1, 1, 1, 1, 1]])
kernel = kernel/sum(kernel)

#filter the source image
img_rst = cv2.filter2D(img_src,-1,kernel)

#save result image
cv2.imwrite('result.jpg',img_rst)

Trong hướng dẫn này, chúng ta sẽ tìm hiểu cách lọc hình ảnh bằng cách sử dụng chức năng 2D với hàm cv2.filter2d (). Sự kết hợp xảy ra giữa hình ảnh nguồn và kernel.

Hướng dẫn low pass filter python opencv - bộ lọc thông thấp python opencv

Kernel là một mảng khác, thường nhỏ hơn hình ảnh nguồn và xác định hành động lọc. Hạt nhân có thể là một đường chuyền cao, đường chuyền thấp hoặc một phong tục có thể phát hiện các tính năng nhất định trong hình ảnh.

Ví dụ 2: Bộ lọc Pass High OpenCV với tích chập 2D

Ví dụ 3 - Hạt nhân tùy chỉnh

  • Ví dụ 3 - Hạt nhân tùy chỉnh
  • Bản tóm tắt
  • Python OpenCV - CV2.filter2d ()

Lọc hình ảnh là một kỹ thuật để lọc một hình ảnh giống như tín hiệu âm thanh một chiều, nhưng trong 2D.

import numpy as np
import cv2

#read image
img_src = cv2.imread('sample.jpg')

#edge detection filter
kernel = np.array([[0.0, -1.0, 0.0], 
                   [-1.0, 4.0, -1.0],
                   [0.0, -1.0, 0.0]])

kernel = kernel/(np.sum(kernel) if np.sum(kernel)!=0 else 1)

#filter the source image
img_rst = cv2.filter2D(img_src,-1,kernel)

#save result image
cv2.imwrite('result.jpg',img_rst)

Trong hướng dẫn này, chúng ta sẽ tìm hiểu cách lọc hình ảnh bằng cách sử dụng chức năng 2D với hàm cv2.filter2d (). Sự kết hợp xảy ra giữa hình ảnh nguồn và kernel.

Hướng dẫn low pass filter python opencv - bộ lọc thông thấp python opencv

Kernel là một mảng khác, thường nhỏ hơn hình ảnh nguồn và xác định hành động lọc. Hạt nhân có thể là một đường chuyền cao, đường chuyền thấp hoặc một phong tục có thể phát hiện các tính năng nhất định trong hình ảnh.

Một bộ lọc thông thấp giống như một quá trình trung bình. Nhưng với trọng lượng và nhịp trung bình tùy thuộc vào hình dạng và nội dung của hạt nhân.

Một bộ lọc vượt qua cao giống như một máy dò cạnh. Nó cho một mức cao khi có một sự thay đổi đáng kể trong các giá trị pixel liền kề.
Hướng dẫn low pass filter python opencv - bộ lọc thông thấp python opencv

Example 3 – Custom Kernel

Ngoài ra, bạn có thể sử dụng bộ lọc tùy chỉnh, để phát hiện các vòng tròn, hình vuông hoặc một số hình dạng tùy chỉnh bạn muốn phát hiện trong hình ảnh.

Lọc hình ảnh là một kỹ thuật để lọc một hình ảnh giống như tín hiệu âm thanh một chiều, nhưng trong 2D.

import numpy as np
import cv2

#read image
img_src = cv2.imread('sample.jpg')

#kernal sensitive to horizontal lines
kernel = np.array([[-1.0, -1.0], 
                   [2.0, 2.0],
                   [-1.0, -1.0]])

kernel = kernel/(np.sum(kernel) if np.sum(kernel)!=0 else 1)

#filter the source image
img_rst = cv2.filter2D(img_src,-1,kernel)

#save result image
cv2.imwrite('result.jpg',img_rst)

Trong hướng dẫn này, chúng ta sẽ tìm hiểu cách lọc hình ảnh bằng cách sử dụng chức năng 2D với hàm cv2.filter2d (). Sự kết hợp xảy ra giữa hình ảnh nguồn và kernel.

Hướng dẫn low pass filter python opencv - bộ lọc thông thấp python opencv

Kernel là một mảng khác, thường nhỏ hơn hình ảnh nguồn và xác định hành động lọc. Hạt nhân có thể là một đường chuyền cao, đường chuyền thấp hoặc một phong tục có thể phát hiện các tính năng nhất định trong hình ảnh.

Bản tóm tắt

Python OpenCV - CV2.filter2d ()

Lọc hình ảnh là một kỹ thuật để lọc một hình ảnh giống như tín hiệu âm thanh một chiều, nhưng trong 2D.

  • Trong hướng dẫn này, chúng ta sẽ tìm hiểu cách lọc hình ảnh bằng cách sử dụng chức năng 2D với hàm cv2.filter2d (). Sự kết hợp xảy ra giữa hình ảnh nguồn và kernel.
  • Kernel là một mảng khác, thường nhỏ hơn hình ảnh nguồn và xác định hành động lọc. Hạt nhân có thể là một đường chuyền cao, đường chuyền thấp hoặc một phong tục có thể phát hiện các tính năng nhất định trong hình ảnh.
  • Một bộ lọc thông thấp giống như một quá trình trung bình. Nhưng với trọng lượng và nhịp trung bình tùy thuộc vào hình dạng và nội dung của hạt nhân.
  • Một bộ lọc vượt qua cao giống như một máy dò cạnh. Nó cho một mức cao khi có một sự thay đổi đáng kể trong các giá trị pixel liền kề.
  • Ngoài ra, bạn có thể sử dụng bộ lọc tùy chỉnh, để phát hiện các vòng tròn, hình vuông hoặc một số hình dạng tùy chỉnh bạn muốn phát hiện trong hình ảnh.
  • Trong ví dụ này, chúng tôi sẽ thực hiện chuỗi các bước sau.
  • Đọc một hình ảnh. Đây là nguồn của chúng tôi.
  • Xác định bộ lọc thông thấp. Trong ví dụ này, bộ lọc thông thấp của chúng tôi là một mảng 5 × 5 với tất cả các bộ và tính trung bình.

OpenCV bộ lọc vượt qua thấp là gì?

Như trong các tín hiệu một chiều, hình ảnh cũng có thể được lọc với các bộ lọc thông thấp khác nhau (LPF), bộ lọc thông cao (HPF), v.v. LPF giúp loại bỏ tiếng ồn, làm mờ hình ảnh, v.v. Hình ảnh. OpenCV cung cấp một hàm cv.filter2d () để kết hợp một hạt nhân với một hình ảnh.helps in removing noises, blurring the images etc. HPF filters helps in finding edges in the images. OpenCV provides a function cv.filter2D() to convolve a kernel with an image.

CV2 Medianblur là gì?

Ở đây, hàm CV2.Medianblur () tính toán trung bình của tất cả các pixel dưới cửa sổ kernel và pixel trung tâm được thay thế bằng giá trị trung bình này.Điều này có hiệu quả cao trong việc loại bỏ tiếng ồn muối và hạt tiêu.computes the median of all the pixels under the kernel window and the central pixel is replaced with this median value. This is highly effective in removing salt-and-pepper noise.

CV2 Filter2D hoạt động như thế nào?

Hoạt động của Chức năng Filter2D () trong OpenCV Quá trình lọc hình ảnh cho phép làm mờ hình ảnh, làm sắc nét hình ảnh, phát hiện các cạnh trong hình ảnh, v.v. OpenCV cung cấp một hàm gọi là chức năng Filter2D () để thực hiện lọc hình ảnh.Hàm Filter2D () Convolf một kernel với hình ảnh.The filter2d() function convolves a kernel with an image.

Bộ lọc Pass thấp Gaussian là gì?

Bộ lọc Gaussian là bộ lọc thông thấp được sử dụng để giảm nhiễu (các thành phần tần số cao) và các vùng mờ của hình ảnh.Bộ lọc được triển khai dưới dạng hạt nhân đối xứng có kích thước lẻ (phiên bản nhúng của ma trận) được truyền qua từng pixel của vùng quan tâm để có được hiệu ứng mong muốn.a low pass filter used for reducing noise (high frequency components) and blurring regions of an image. The filter is implemented as an Odd sized Symmetric Kernel (DIP version of a Matrix) which is passed through each pixel of the Region of Interest to get the desired effect.