Làm thế nào tôi có thể cắt hình ảnh, như tôi đã thực hiện trước đó trong PIL, sử dụng OpenCV.Làm thế nào để cắt một hình ảnh trong OpenCV bằng cách sử dụng Python
dụ làm việc trên PIL
im = Image.open('0.png').convert('L')
im = im.crop((1, 1, 98, 33))
im.save('_0.png')
Nhưng làm thế nào tôi có thể làm điều đó trên OpenCV?
Đây là những gì tôi đã cố gắng:
im = cv.imread('0.png', cv.CV_LOAD_IMAGE_GRAYSCALE)
(thresh, im_bw) = cv.threshold(im, 128, 255, cv.THRESH_OTSU)
im = cv.getRectSubPix(im_bw, (98, 33), (1, 1))
cv.imshow('Img', im)
cv.waitKey(0)
Nhưng nó không hoạt động.
Tôi nghĩ rằng tôi đã sử dụng sai getRectSubPix
. Nếu trường hợp này xảy ra, hãy giải thích cách tôi có thể sử dụng đúng chức năng này.
Hmm ... Nhưng làm thế nào tôi có thể lưu hình ảnh cắt thành biến? – Nolik
Hm, ước gì bạn đã chọn các giá trị khác nhau cho việc cắt, vì nó không rõ ràng nếu cú pháp là img [x: y, x + w: y + h] hoặc img [y: y + h, x: x + w] – davidgoli
Là dịch vụ cho những người tìm kiếm trong tương lai: "Trước tiên chúng tôi cung cấp tọa độ startY và endY, tiếp theo là tọa độ startX và endX với slice". vì vậy [Y1: Y2, X1: X2] Tôi không thể tìm ra lý do tại sao cây trồng của tôi lại xuất hiện lạ lùng; nhưng phần thứ hai không phải là chiều rộng: chiều cao, đó là X1: X2 http://www.pyimagesearch.com/2014/01/20/basic-image-manipulations-in-python-and-opencv-resizing-scaling -rotating-and-crop – jmhead