1
我使用OpenCV/Python,我試圖添加一個數字圖像。OpenCV/Python:錯誤在cv2.add()添加一個數字圖像
我的代碼是:
import cv2
import numpy as np
import math
from matplotlib import pyplot as plt
img = cv2.imread('messi.jpg',0)
img2 = img
img2 = cv2.add(img2, np.uint8([50]))
我得到了一個錯誤:
OpenCV Error: Assertion failed (type2 == CV_64F && (sz2.height == 1 || sz2.heigh
t == 4)) in cv::arithm_op, file C:\builds\master_PackSlaveAddon-win64-vc12-stati
c\opencv\modules\core\src\arithm.cpp, line 1989
Traceback (most recent call last):
File "lab3_examples.py", line 27, in <module>
img2 = cv2.add(img, np.uint8([50]))
cv2.error: C:\builds\master_PackSlaveAddon-win64-vc12-static\opencv\modules\core
\src\arithm.cpp:1989: error: (-215) type2 == CV_64F && (sz2.height == 1 || sz2.h
eight == 4) in function cv::arithm_op
相反,如果我用img2 = np.add(img2, np.uint8([50]))
強度是通過價值255 value % 255 result
,例如260%255=4
像素值設置爲4而不是255.結果,白色像素變爲黑色!
有什麼想法嗎?
這是一個很好的例子,但我想這樣就沒有必要將它們與'HSV'涉及到我的學生解釋了'RGB'渠道。不管怎樣,謝謝你! – zinon
在這種情況下,您可以使用RGB圖像嘗試相同的情況。將圖像拆分爲單獨的通道並添加一個整數以合併通道,然後查看結果...簡單..:D –