OpenCV Python:规范化图像

kot*_*t09 12 python opencv

我是OpenCV的新手.我想做一些与规范化相关的预处理.我想将我的图像标准化为一定的大小.以下代码的结果给了我一个黑色图像.有人能指出我到底做错了什么吗?我输入的图像是黑白图像

import cv2 as cv
import numpy as np

img = cv.imread(path)
normalizedImg = np.zeros((800, 800))
cv.normalize(img,  normalizedImg, 0, 255, cv.NORM_MINMAX)
cv.imshow('dst_rt', self.normalizedImg)
cv.waitKey(0)
cv.destroyAllWindows()
Run Code Online (Sandbox Code Playgroud)

Oph*_*rmi 10

正如我们可以在http://docs.opencv.org/2.4/modules/core/doc/operations_on_arrays.html#cv2.normalize看到的那样,有一个? dst说该normalize函数的结果作为输出参数返回.该功能不会dst就地更改输入参数.(该self.cv.imshow('dst_rt', self.normalizedImg)线是一个错字)

import cv2 as cv
import numpy as np
path = r"C:\Users\Public\Pictures\Sample Pictures\Hydrangeas.jpg"
img = cv.imread(path)
normalizedImg = np.zeros((800, 800))
normalizedImg = cv.normalize(img,  normalizedImg, 0, 255, cv.NORM_MINMAX)
cv.imshow('dst_rt', normalizedImg)
cv.waitKey(0)
cv.destroyAllWindows()
Run Code Online (Sandbox Code Playgroud)


Joã*_*cho 5

它给您黑色的图像,因为您可能在img和normalizedImg中使用了不同的大小。

import cv2 as cv

img = cv.imread(path)
img = cv.resize(img, (800, 800))
cv.normalize(img, img, 0, 255, cv.NORM_MINMAX)

cv.imshow('dst_rt', img)
cv.waitKey(0)
cv.destroyAllWindows()
Run Code Online (Sandbox Code Playgroud)