iT邦幫忙

2023 iThome 鐵人賽

0
自我挑戰組

多媒體:影像處理系列 第 18

形狀不變矩

  • 分享至 

  • xImage
  •  

是一種用於描述圖像或對象的形狀特征的方法。形狀不變矩是一組數學特征,它們具有旋轉、平移和尺度不變性,可用於描述物體的形狀,而不受對象的具體位置、尺寸和旋轉的影響。這些矩通常用於圖像分析、模式識別、對象識別和形狀分析等應用。

形狀不變矩的計算通常涉及到圖像的二值化邊界輪廓。以下是一些常用的形狀不變矩:

  1. Hu矩(Hu Moments):這些矩是最常用的形狀不變矩之一,它們由七個不變矩組成(Hu1到Hu7),具有旋轉、平移和尺度不變性。Hu矩可以用於描述對象的整體形狀。

  2. Zernike矩(Zernike Moments):這些矩是基於極坐標形式的多項式的系數,它們具有旋轉不變性。Zernike矩用於表示對象的輪廓,尤其對於圓形或光學系統中的光學元件非常有用。

  3. Fourier描述符(Fourier Descriptors):這些描述符是通過傅立葉變換計算的,用於表示對象的輪廓。它們具有平移和尺度不變性,但通常不具有旋轉不變性。

下面是一個示例代碼,用於計算圖像的Hu矩:

import cv2
import numpy as np

# 讀取圖像並獲取邊界輪廓
image = cv2.imread('object_image.jpg', cv2.IMREAD_GRAYSCALE)
contours, _ = cv2.findContours(image, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)

# 選擇一個輪廓
contour = contours[0]

# 計算Hu矩
hu_moments = cv2.moments(contour)
hu_moments = cv2.HuMoments(hu_moments)

print("Hu Moments:")
for i in range(7):
    print(f"Hu{i+1}: {hu_moments[i][0]}")

上述示例代碼首先讀取圖像並獲取其邊界輪廓,然後使用cv2.moments函數計算了Hu矩。 Hu矩的值可以用於描述對象的形狀特征,如圓形、橢圓形等。這些特征對於圖像分析和對象識別非常有用。


上一篇
傅立葉形狀描述符號
下一篇
深度神經網路的突破
系列文
多媒體:影像處理30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言