Python cắt hình ảnh và lưu

Đâ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ắt

Dướ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ước

from 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

Nhấp để chạy mã

Đây là hình ảnh gốc

import cv2
94

Và đây là hình ảnh đã cắt

import cv2
95

Bạ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 

Chủ Đề