Hướng dẫn how to increase dpi of image using python - cách tăng dpi hình ảnh bằng python

Tôi đã tính toán rằng nếu tôi muốn hình ảnh được tạo của mình có kích thước A4 @ 600dpi cho mục đích in, nó cần phải là 7016x4961px @ 72dpi. Vì vậy, tôi tạo ra nó theo chương trình, sau đó kiểm tra nó trong Photoshop và nó có vẻ ổn vì vậy nếu tôi thay đổi kích thước nó, nó sẽ có kích thước và độ phân giải thích hợp

.

Điều tôi tự hỏi là nếu có thể thực hiện thay đổi kích thước này theo chương trình, tốt nhất là với PIL, nhưng không nhất thiết phải với nó. Tôi cần làm cho nó cao hơn DPI.

hỏi ngày 7 tháng 2 năm 2012 lúc 10:09Feb 7, 2012 at 10:09

Sergei Basharovsergei BasharovSergei Basharov

49K69 Huy hiệu vàng192 Huy hiệu bạc327 Huy hiệu đồng69 gold badges192 silver badges327 bronze badges

3

Nếu bạn đã tạo hình ảnh của mình 7016 x 4961 PX, thì đó là A4 ở 600 dpi. Vì vậy, bạn không cần phải thay đổi kích thước, bạn chỉ cần đặt thông tin độ phân giải trong tệp.

Bạn có thể làm điều đó với PIL:

from PIL import Image

im = Image.open["test.png"]
im.save["test-600.png", dpi=[600,600]]

Đã trả lời ngày 7 tháng 2 năm 2012 lúc 10:42Feb 7, 2012 at 10:42

MatthieuwmatthieuwMatthieuW

2.25215 huy hiệu bạc25 huy hiệu đồng15 silver badges25 bronze badges

0

Mã này sẽ thay đổi kích thước hình ảnh PNG thành 7016x4961 với PIL:

size = 7016, 4961
im = Image.open["my_image.png"]
im_resized = im.resize[size, Image.ANTIALIAS]
im_resized.save["my_image_resized.png", "PNG"]

Có lẽ một cách tiếp cận tốt hơn sẽ là làm cho canvas

size = 7016, 4961
im = Image.open["my_image.png"]
im_resized = im.resize[size, Image.ANTIALIAS]
im_resized.save["my_image_resized.png", "PNG"]
0 của bạn lớn hơn trước khi in, trong đó
size = 7016, 4961
im = Image.open["my_image.png"]
im_resized = im.resize[size, Image.ANTIALIAS]
im_resized.save["my_image_resized.png", "PNG"]
0 là một yếu tố bạn phải tìm ra [kích thước 7016x4961 cho hình ảnh cụ thể này].

Đã trả lời ngày 7 tháng 2 năm 2012 lúc 10:28Feb 7, 2012 at 10:28

ChewiechewieChewie

6,9455 Huy hiệu vàng30 Huy hiệu bạc36 Huy hiệu Đồng5 gold badges30 silver badges36 bronze badges

Hình ảnh với độ phân giải không đổi có thể không đưa ra thông tin mong muốn và chi tiết chính xác. Để khắc phục thách thức này, cần phải điều chỉnh các độ phân giải trong một hình ảnh. Chúng tôi sẽ thay đổi hình ảnh thành độ phân giải cao hơn và thấp hơn với sự trợ giúp của

size = 7016, 4961
im = Image.open["my_image.png"]
im_resized = im.resize[size, Image.ANTIALIAS]
im_resized.save["my_image_resized.png", "PNG"]
2.

Trong hướng dẫn này, chúng tôi sẽ cần sử dụng một số công cụ cơ bản, chẳng hạn như OpenCV, được sử dụng trong các tác vụ dựa trên tầm nhìn máy tính, đây là chức năng chính cần thiết để xử lý hình ảnh.

Mục lục

  • Điều kiện tiên quyết
  • Cách cài đặt và sử dụng gối và Numpy
  • Đã sửa màu sắc
  • Thực hiện tăng cường độ tương phản
  • Mạng lưới siêu phân giải kim tự tháp Laplacian
  • Dân sự xuống các hình ảnh xuống mức độ phân giải thấp hơn
  • Nhân rộng hình ảnh lên độ phân giải cao hơn
  • Các trường ứng dụng để điều chỉnh độ phân giải hình ảnh
  • Sự kết luận

Điều kiện tiên quyết

Cách cài đặt và sử dụng gối và Numpy

Cách cài đặt và sử dụng gối và Numpy

Đã sửa màu sắc

Thực hiện tăng cường độ tương phản

 pip install OpenCV-Python

Mạng lưới siêu phân giải kim tự tháp Laplacian

Dân sự xuống các hình ảnh xuống mức độ phân giải thấp hơn

Nhân rộng hình ảnh lên độ phân giải cao hơn

Các trường ứng dụng để điều chỉnh độ phân giải hình ảnh

C:\Users\lizpa\PycharmProjects\jupyter\venv\Scripts\python.exe -m pip install --upgrade pip

Sự kết luận

Đã sửa màu sắc

Thực hiện tăng cường độ tương phản

Mạng lưới siêu phân giải kim tự tháp Laplacian

Dân sự xuống các hình ảnh xuống mức độ phân giải thấp hơn

Nhân rộng hình ảnh lên độ phân giải cao hơn

Các trường ứng dụng để điều chỉnh độ phân giải hình ảnh

Sự kết luận

Thực hiện tăng cường độ tương phản

Mạng lưới siêu phân giải kim tự tháp Laplacian

Dân sự xuống các hình ảnh xuống mức độ phân giải thấp hơn

from PIL import Image, ImageFilter
img = Image.open["cool.jpg"]
enc_img = img.filter[ImageFilter.DETAIL]
assert isinstance[enc_img, object]
enc_img.show[]

Nhân rộng hình ảnh lên độ phân giải cao hơn

 from PIL import Image, ImageEnhancement
 img = Image.open["cool.jpg"]
 img_con = ImageEnhancement.Contrast[img]
img_con.enhace[1.7].show["70% INCREASEMENT OF CONTRAST ENHANCEMENT"]

Các trường ứng dụng để điều chỉnh độ phân giải hình ảnh

Mạng lưới siêu phân giải kim tự tháp Laplacian

Dân sự xuống các hình ảnh xuống mức độ phân giải thấp hơn

Nhân rộng hình ảnh lên độ phân giải cao hơn

Các trường ứng dụng để điều chỉnh độ phân giải hình ảnh

Sự kết luận

Người đọc phải làm quen với những điều cơ bản về ngôn ngữ lập trình Python để theo dõi cùng với hướng dẫn này. Tham khảo hướng dẫn người mới bắt đầu này về Python.

Sử dụng bất kỳ trình soạn thảo văn bản nào bạn chọn, bạn sẽ được yêu cầu chạy một vài mã. Để làm việc với CV2, bạn sẽ được yêu cầu cài đặt OpenCV.

Để thực hiện điều này, trong thiết bị đầu cuối của bạn, hãy chạy lệnh bên dưới nếu bạn không được cài đặt sẵn.

Sau khi OpenCV đã được cài đặt, nó cho phép nhập các mô -đun như CV2. Cài đặt thứ hai được thực hiện là

size = 7016, 4961
im = Image.open["my_image.png"]
im_resized = im.resize[size, Image.ANTIALIAS]
im_resized.save["my_image_resized.png", "PNG"]
3.

import cv2
import numpy as np
img = cv2.imread["sean.jpg"]#Here we will be reading the image
layer = img.copy[]
gp = [layer] #Declaring a variable hence creating the Gaussian Pyramid array.
for j in range[10]:#Providing room for iteration.
    layer = cv2.pyrDown[layer]
    gp.append[layer]
    cv2.imshow[str[j], layer]#This function displays the multiple images created.
cv2.imshow["Original image", img]#This will have the original image displayed.
cv2.waitKey[0]
cv2.destroyAllWindows[]

Điều này cho phép sử dụng các gói thực hiện các mảng đa chiều. Việc cài đặt thứ ba được thực hiện liên quan đến cài đặt

size = 7016, 4961
im = Image.open["my_image.png"]
im_resized = im.resize[size, Image.ANTIALIAS]
im_resized.save["my_image_resized.png", "PNG"]
4.

Còn được gọi là mô -đun
size = 7016, 4961
im = Image.open["my_image.png"]
im_resized = im.resize[size, Image.ANTIALIAS]
im_resized.save["my_image_resized.png", "PNG"]
5, nó cho phép thao tác và xử lý hình ảnh. Tùy thuộc vào các phiên bản, bạn có thể được yêu cầu cập nhật lên phiên bản mới nhất.

Để cập nhật lên phiên bản mới nhất, chúng tôi sẽ sử dụng lệnh dưới đây:

Bạn sẽ phải thay đổi đường dẫn theo thư mục máy của bạn.

Điều này khác với việc nhân rộng một hình ảnh gốc.

import cv2
import numpy as np
img = cv2.imread["sean.jpg"]
#We will be factoring down images using the already scaled.
lwr1 = cv2.pyrDown[img]
lwr2 = cv2.pyrDown[lwr1]
lwr3 = cv2.pyrDown[lwr2]
lwr4 = cv2.pyrDown[lwr3]
# We will be Increasing the resolution of already scaled down image that is lwr4.
hir1 = cv2.pyrUp[lwr3]

cv2.imshow["Original image", img]
cv2.imshow["First Scaled Down Image", lwr1]
cv2.imshow["Second Scaled Down Image", lwr2]
cv2.imshow["Third Scaled Down Image", lwr3]
cv2.imshow["Fourth Scaled Down Image", lwr4]
cv2.imshow["First Scaled Up Image", hir1]

cv2.waitKey[0]
cv2.destroyAllWindows[]

Đầu ra của bạn nên giống như hình ảnh được hiển thị dưới đây.

Ví dụ 3

Để xây dựng mạng lưới siêu phân giải kim tự tháp Laplacian. Chúng tôi sẽ lấy lớp cấp cao nhất của kim tự tháp Gaussian, đây là hình ảnh cuối cùng được tạo bằng hàm vòng lặp. Sau đó chúng tôi tạo một danh sách cho kim tự tháp Laplacian.

Cuối cùng, chúng tôi tạo ra phiên bản mở rộng của cấp trên của kim tự tháp Gaussian. Để hiểu rõ hơn, chúng tôi sẽ sử dụng đoạn mã bên dưới:

import cv2
img = cv2.imread["sean.jpg"]
layer = img.copy[]
gp = [layer]
for j in range[2]:
    layer = cv2.pyrDown[layer]
    gp.append[layer]

layer = gp[2]
cv2.imshow["Gausian Upper level", layer]
lp = [layer]#Introduce and create a list for the Laplacian pyramid.

for j in range[2, 0, -1]:
    Gausian_extended = cv2.pyrUp[gp[j]]#Creating the Laplacian pyramid.
laplacian = cv2.subtract[gp[j-1], Gausian_extended]
cv2.imshow[str[j], laplacian]

cv2.imshow["Original image", img]
cv2.waitKey[0]
cv2.destroyAllWindows[]

Xác nhận với hiển thị dưới đây được hiển thị:

Kim tự tháp Laplacian và kim tự tháp Gaussian được áp dụng trong sự pha trộn và tái thiết của các hình ảnh.

Các trường ứng dụng để điều chỉnh độ phân giải hình ảnh

  • Thiên văn học - Điều này đạt được bằng cách tập trung vào thông tin nhỏ của hình ảnh đến các độ phân giải cao hơn mang lại tầm nhìn rõ ràng hơn. - This is achieved by focusing on tiny information of images to higher resolutions that bring out clearer vision.
  • Đoạn truyền hình mạch kín - Các nguồn cấp dữ liệu nhận được từ một cảnh quay camera quan sát có thể được tập trung để có được hình ảnh rõ ràng hơn bằng cách giải quyết và sửa chữa màu sắc nếu có thể. - Feeds received from a CCTV footage can be focused to get clearer images by resolving and fixing the colors where possible.
  • Y học - Hình ảnh nhận được từ các lần quét như tia X cần điều chỉnh độ phân giải để cung cấp thông tin chi tiết và chính xác. - Images received from scans such as the X-Rays need adjustment of resolutions to provide detailed and accurate information.

Sự kết luận

Bao gồm tất cả các chi tiết cần thiết trong hướng dẫn này, đó là:

  1. Biết cách khắc phục màu sắc.
  2. Thực hiện tăng cường độ tương phản.
  3. Mở rộng hình ảnh đến độ phân giải thấp hơn hoặc cao hơn.
  4. Đạo hàm của kim tự tháp Laplacian.
  5. Các trường ứng dụng để điều chỉnh độ phân giải hình ảnh.

Bây giờ bạn được trang bị để xử lý các vấn đề liên quan đến hướng dẫn này. Có thể làm việc chính xác với điều chỉnh độ phân giải hình ảnh và tạo ra kết quả tốt nhất.

Mã hóa hạnh phúc!

Đóng góp đánh giá ngang hàng của: Dawe Daniel

Bài Viết Liên Quan

Chủ Đề