Đây là một ví dụ về cách hình ảnh gốc được cắt thành một vùng nhỏ hơn từ [100, 20] phía trên bên trái đến [540, 210] phía dưới bên phải
Dung dịch. hình ảnh. gặm cỏ[]
Để cắt hình ảnh thành một khu vực nhất định, hãy sử dụng hàm PIL
import cv2
6 xác định khu vực sẽ được cắt bằng hai điểm trong hệ tọa độ. Giá trị pixel import cv2
7 và import cv2
8. Hai điểm đó xác định rõ ràng hình chữ nhật sẽ được cắtDưới đây là ví dụ về cách cắt hình ảnh với
import cv2
90 và import cv2
91 pixel và điểm bắt đầu phía trên bên trái import cv2
92 và import cv2
93 pixel như minh họa trong hình trướcfrom PIL import Image # Given information img = Image.open["image.jpg"] width, height = 440, 190 x, y = 100, 20 # Select area to crop area = [x, y, x+width, y+height] # Crop, show, and save image cropped_img = img.crop[area] cropped_img.show[] cropped_img.save["cropped_image.jpg"]
Bạn có thể thử với ví dụ này—bao gồm cả ảnh gốc và ảnh đã cắt được hiển thị ở đây—trong sân chơi tương tác của chúng tôi
Đây là hình ảnh gốc
import cv2
94Và đây là hình ảnh đã cắt
import cv2
95Bạn có muốn luôn dẫn đầu trò chơi bằng Python không?
Chris
Trong khi làm việc với tư cách là một nhà nghiên cứu trong các hệ thống phân tán, Dr. Christian Mayer tìm thấy tình yêu của mình với việc dạy sinh viên khoa học máy tính
Để giúp sinh viên đạt được mức độ thành công Python cao hơn, anh ấy đã thành lập trang web giáo dục lập trình Finxter. com. Ông là tác giả của cuốn sách lập trình nổi tiếng Python One-Liners [NoStarch 2020], đồng tác giả của loạt sách tự xuất bản Coffee Break Python, người đam mê khoa học máy tính, cộng tác viên tự do và chủ sở hữu của một trong 10 blog Python lớn nhất thế giới
Niềm đam mê của anh ấy là viết, đọc và mã hóa. Nhưng niềm đam mê lớn nhất của anh ấy là phục vụ các lập trình viên đầy tham vọng thông qua Finxter và giúp họ nâng cao kỹ năng của mình. Bạn có thể tham gia học viện email miễn phí của anh ấy tại đây
ví dụ/opencv/crop_resize_and_save_image. py
import cv2 as cv import sys if len[sys.argv] != 3: exit[f"Usage: {sys.argv[0]} FILENAME OUTFILE"] filename = sys.argv[1] outfile = sys.argv[2] original = cv.imread[filename] print[original.shape] cv.imshow['Original', original] cropped = original[400:1200, 100:900] print[cropped.shape] cv.imshow['Cropped', cropped] scale = 0.7 height, width, colors = cropped.shape new_height = int[height * scale] new_width = int[width * scale] resized = cv.resize[cropped, [new_width, new_height], interpolation=cv.INTER_AREA] print[resized.shape] cv.imshow['Resized', resized] cv.imwrite[outfile, resized] cv.waitKey[0]Bạn có muốn cắt ảnh trong python không? . Bạn sẽ biết cách cắt ảnh trong python bằng các gói OpenCV. OpenCV là thư viện tốt nhất để xử lý và chuyển đổi hình ảnh. Có nhiều chức năng sẵn có trong đó và sử dụng một trong các chức năng này, bạn sẽ cắt ảnh trong python
Các bước để cắt một hình ảnh trong python
Trong phần này, bạn sẽ biết tất cả các bước để cắt ảnh trong python. Bạn chỉ cần làm theo các bước để hiểu sâu
Bước 1. Nhập tất cả các thư viện cần thiết
Bước đầu tiên là nhập tất cả các thư viện cần thiết cho hướng dẫn này. Trong ví dụ của chúng tôi, Chúng tôi chỉ sử dụng OpenCV, vì vậy hãy nhập nó bằng câu lệnh nhập
import cv2
Bước 2. Đọc hình ảnh
Bước thứ hai là đọc hình ảnh để cắt xén. Trong OpenCV, bạn có thể đọc hình ảnh bằng cv2. phương thức imread[]. Nó sẽ đọc hình ảnh dưới dạng một mảng. Hãy đọc nó bằng dòng mã sau
Hãy đến để tự mình xem cách Cắt ảnh bằng OpenCV hoạt động như thế nào. Đầu tiên, tại sao chúng ta cần cắt xén? . Hoặc thậm chí để làm nổi bật một tính năng cụ thể của hình ảnh.
Không có chức năng cụ thể để cắt xén bằng OpenCV, việc cắt mảng NumPy là công việc thực hiện. Mỗi hình ảnh được đọc vào, được lưu trữ trong một mảng 2D [cho mỗi kênh màu]. Chỉ cần chỉ định chiều cao và chiều rộng [tính bằng pixel] của vùng cần cắt. Và thế là xong
Các đoạn mã sau đây cho biết cách cắt ảnh bằng cả Python và C++. Hơn nữa trong bài đăng, bạn sẽ tìm hiểu chi tiết về những điều này
con trăn
# Import packages import cv2 import numpy as np img = cv2.imread['test.jpg'] print[img.shape] # Print image shape cv2.imshow["original", img] # Cropping an image cropped_image = img[80:280, 150:330] # Display cropped image cv2.imshow["cropped", cropped_image] # Save the cropped image cv2.imwrite["Cropped Image.jpg", cropped_image] cv2.waitKey[0] cv2.destroyAllWindows[]
C++
// Include Libraries #include #include // Namespace nullifies the use of cv::function[]; using namespace std; using namespace cv; int main[] { // Read image Mat img = imread["test.jpg"]; cout