我正在嘗試使用OpenCV 2.3 Python包裝來計算圖像的DCT。據稱,圖片== numpy的陣列== CV矩陣,所以我想這應該工作:用OpenCV計算圖像的離散餘弦變換
import cv2
img1 = cv2.imread('myimage.jpg', cv2.CV_LOAD_IMAGE_GRAYSCALE)
img2 = cv2.dct(img1)
然而,這引發錯誤:
cv2.error: /usr/local/lib/OpenCV-2.3.1/modules/core/src/dxt.cpp:2247: error: (-215) type == CV_32FC1 || type == CV_64FC1 in function dct
我意識到錯誤意味着輸入應該是一個32位或64位單通道浮點矩陣。但是,我認爲這是我的圖像在指定灰度時應該加載的方式,或者至少應該足夠接近以便CV2能夠計算轉換。
什麼是使用cv2轉換DCT圖像的適當方式?
謝謝。但是,我知道如何使用cv來做到這一點。我的問題是如何使用cv2來做到這一點。還是OpenCV團隊計劃無限期維護cv和cv2模塊? – Cerin
此外,您的示例不能與cv2.imread()的輸出一起使用。 – Cerin