我正在尝试使用OpenCV的ROI函数。使用它,我试图裁剪加载的图像的一部分。之后,我试图保存图像并显示它。显示它不是太大的问题,但保存它却是一个问题。该图像被存储为一个大黑矩形,而不是实际裁剪后的图像。以下是我的代码:
import cv2
import numpy as np
from skimage.transform import rescale, resize
if __name__ == '__main__' :
# Read image
im = cv2.imread("/Path/to/Image.jpg")
img = resize(im, (400,400), mode='reflect')
# Select ROI
r = cv2.selectROI(img)
# Crop image
imCrop = img[int(r[1]):int(r[1]+r[3]), int(r[0]):int(r[0]+r[2])]
# Save first, then Display cropped image
cv2.imwrite("../../Desktop/Image.jpg", imCrop) # This is where there seems to be a problem
cv2.imshow("im", imCrop)
cv2.waitKey(0)
有人可以帮忙吗?
imCrop
的内容吗?它是整数还是浮点数(在0到1之间)。另外,为了确保万无一失,你可以尝试将写入格式指定为jpeg吗? - Umang Guptar = cv2.selectROI(img)
的值吗?同时附上cv2.imshow()
的输出结果吗? - ZdaR