我想把一张图片去噪,然后再把对比度增强一下,即让图片更鲜艳更亮一点,但是现在去噪可以了(第一段代码),若再把对比度增强则报错,即变为第二段代码。
import cv2
import matplotlib.pyplot as plt
import math
import copy
import numpy as np
img_file = 'uglybaboon.png'
img = cv2.imread(img_file)
gray = cv2.cvtColor(img,cv2.COLOR_RGB2BGR)
medina = cv2.medianBlur(gray,5)
plt.figure()
plt.subplot(1,2,1), plt.imshow(gray)
plt.subplot(1,2,2), plt.imshow(medina)
plt.show()
import cv2
import matplotlib.pyplot as plt
import math
import copy
import numpy as np
img_file = 'uglybaboon.png'
img = cv2.imread(img_file)
gray = cv2.cvtColor(img,cv2.COLOR_RGB2BGR)
medina = cv2.medianBlur(gray,5)
img_gray = cv2.cvtColor(medina, cv2.IMREAD_GRAYSCALE)
img_gray_a = img_gray.astype(np.uint8)
img_gray_eq = cv2.equalizeHist(img_gray_a)
plt.figure()
plt.subplot(1,2,1), plt.imshow(gray)
plt.subplot(1,2,2), plt.imshow(img_gray_eq)
plt.show()
( 13行为img_gray_eq = cv2.equalizeHist(img_gray_a) )
line 13, in
img_gray_eq = cv2.equalizeHist(img_gray_a)
cv2.error: OpenCV(4.2.0) C:\projects\opencv-python\opencv\modules\imgproc\src\histogram.cpp:3439: error: (-215:Assertion failed) _src.type() == CV_8UC1 in function 'cv::equalizeHist'