Chương trình nào có thể tự động thay đổi kích thước & cắt một thư mục hình ảnh thành một độ phân giải nhất định?


11

Tôi muốn lấy một thư mục hình ảnh có kích thước khác nhau và cắt chúng thành một hình vuông lưới 600x600, cắt ra từ giữa hình ảnh. Có chương trình nào có thể tự động thay đổi kích thước và cắt theo các kích thước này không, rồi xuất ra dưới dạng tệp .png được nén? Đối với hình ảnh nhỏ hơn 600x600, tôi muốn chương trình tăng kích thước của hình ảnh lên kích thước đó.


1
Tôi đã kiểm tra Irfanview của mình và crop crop của nó là tĩnh chỉ với tùy chọn bắt đầu từ các góc và phần bù cố định. Nó không thể thực hiện định tâm và thay đổi kích thước có điều kiện theo yêu cầu của OP. Nó không phù hợp với kích thước hình ảnh thay đổi.
Michael Nielsen

1
Tôi đã rất hy vọng XnConvert có thể làm những gì bạn đang theo đuổi nhưng như IrfanView, nó sẽ không thực hiện một vụ cắt trung tâm trên các kích thước hình ảnh tùy ý.
Mark Whitaker

Câu trả lời:


12

Lệnh Batch của Photoshop có thể làm điều này. Về cơ bản, bạn sẽ tự 'ghi lại' việc thực hiện cắt xén một lần, sau đó chạy bản ghi trên tất cả các tệp bạn muốn. Nếu bạn muốn tự động thay đổi kích thước các hình ảnh nhỏ hơn, bạn sẽ phải thực hiện một chút kịch bản.

Irfanview cũng có bộ xử lý hàng loạt hình ảnh toàn diện nhưng có thể cần một chút thử nghiệm để có được kết quả bạn muốn.


10

ImageMagick cho phép bạn chạy các lệnh trong cửa sổ lệnh windows. Bạn cần phải thoải mái với việc tạo các tệp bó Dos.

Để biết ví dụ, hãy xem bài đăng cuối cùng trong cuộc thảo luận này: http://www.imagemagick.org/discference-server/viewtopic.php?f=1&t=21112

Ví dụ liên quan từ bài đăng diễn đàn này:

@echo off

cd C:\Users\user\Desktop\New\New folder

convert *.jpg -fuzz 10%% -trim -write %%02d_trim.png -scale "x1!" txt:

convert *_trim.png -crop 209x329+0+0 -fuzz 10%% -trim +repage %%02d_left.png

convert *_trim.png -crop 173x336+227+0 -fuzz 10%% -trim +repage %%02d_right.png

@pause

Tốt nhất nếu các phần có liên quan của tài nguyên bên ngoài được trích dẫn hoặc tóm tắt ở đây. Liên kết ngoài có khả năng ngoại tuyến bất cứ lúc nào, làm mất hiệu lực câu trả lời chỉ chứa liên kết. Liên kết bạn cung cấp có câu trả lời, tuy nhiên tôi yêu cầu bạn trích dẫn lệnh có liên quan ở đây trong câu trả lời của bạn để làm cho nó khả thi hơn.
jrista

7

Đầu tiên tôi nghĩ bạn muốn thay đổi kích thước hàng loạt, điều mà nhiều chương trình có thể làm. Nhưng sau đó tôi nhận ra rằng bạn muốn thực hiện kết hợp thay đổi kích thước và cắt xén, và bạn muốn máy tính tính toán cách tốt nhất để cắt ra 600x600 pixel khỏi hình ảnh một cách linh hoạt.

Đó là bởi vì nó không phải là một loại nhiệm vụ "một giải pháp thực sự", vì nó thường là lời kêu gọi phán xét của con người, làm thế nào để cắt hình ảnh, vì vậy nó chỉ có thể được thực hiện bằng cách khởi động một số điều kiện nhất định. Ví dụ: xem tỷ lệ khung hình và luôn thay đổi kích thước kích thước ngắn nhất thành X và cắt các pixel Y (giữa / phải / trái). Nếu tôi đọc đúng tuyên bố của bạn, bạn muốn cắt 600 pixel từ X và Y ở giữa theo cả hai chiều, nếu cả hai chiều đều từ 600 trở lên. Và chỉ thay đổi kích thước thành 600 nếu một chiều nhỏ hơn 600?

Từ lâu tôi đã muốn thêm một tính năng như thế này vào chương trình "Image View Plus More" và tôi đoán các cài đặt tính năng phải giống như: - kích thước crop: wxh - align width: centre / left / right - align height: giữa / trái / phải - thay đổi kích thước: không / nếu nhỏ hơn / nếu lớn hơn / cả hai

Bạn còn cần thêm cài đặt nào nữa không?

Cập nhật: Bây giờ tôi đã hoàn tất việc lập trình tính năng này vào Image View Plus 2.4:

http://www.fteroiagrove.dk/tools.php

Cách thực hiện: cài đặt, kéo các hình ảnh bạn muốn cắt vào nó, "lưu tất cả vào thư mục mới" và đặt tên cơ sở hoặc% để sử dụng tên tệp gốc, sau đó trong hộp thoại tiếp theo chọn "autocrop "Và điền vào các ô cho chiều rộng và chiều cao, và chọn căn chỉnh" tâm "cho chiều cao và chiều rộng và kiểm tra" thay đổi kích thước nếu nhỏ hơn ".

Tôi đã làm một hướng dẫn làm thế nào để làm điều đó:

Giải pháp cho vấn đề OP: http://www.youtube.com/watch?v=wBc1s6zuDJM

Một ví dụ khác: http://www.youtube.com/watch?v=3nFrnaefsqA


Xem câu trả lời của tôi, tôi đã viết mã trong python.
Onlyjus

1
Có, bây giờ nó không quá tĩnh, nhưng bạn có chắc OP quan tâm đến việc lập trình chỉnh sửa hình ảnh của mình không?
Michael Nielsen

Tôi không có ý kiến. OP chỉ yêu cầu một chương trình, vì vậy tôi đã viết một.
Onlyjus

Như bạn thấy bây giờ tôi đã thêm tính năng này và tôi có ý tưởng cải tiến, như "hiển thị bằng ví dụ" (trên ảnh đang xem), vì vậy bạn không thể giới hạn bản thân ở giữa hoặc căn chỉnh theo các cạnh. Tất nhiên tôi phải tìm ra cách khái quát ví dụ đó cho các tỷ lệ và kích thước khung hình khác nhau.
Michael Nielsen

Đẹp! Chương trình của bạn được viết trong và nguồn có sẵn là gì?
Onlyjus

5

Nếu bạn thích lập trình, bạn có thể sử dụng Python (ngôn ngữ máy tính) và một thư viện xuất sắc biết có PIL để cắt, kích thước lại, biểu đồ biểu đồ, nhận các giá trị pixel riêng lẻ, v.v ... ở cấp độ lập trình. Do đó, bạn có thể dễ dàng viết một tập lệnh đơn giản để tìm tất cả các hình ảnh trong một thư mục và thực hiện thao tác.

Mã này sẽ làm chính xác những gì bạn muốn và nên xử lý một vài hình ảnh mỗi giây, tùy thuộc vào kích thước hình ảnh:

#Python 2.7, PIL 1.1.7

import Image
import glob
import os

#Function to resize image, preserving aspect ratio
def resizeAspect(im, size):
    w,h = im.size
    aspect=min(size[0]/float(w), size[1]/float(h))
    return im.resize((int(w*aspect),int(h*aspect)),Image.ANTIALIAS)

imgList=glob.glob('C:/icons/*.png')         #Find all png images in a directory

for img in imgList:                              #Loop through all found images
    im = Image.open(img)                         #open the image
    print "resizing:",os.path.basename(img)
    w,h = im.size                                #Get image width and height
    if min(w,h)<600:                             #Check if either dimension is smaller then 600
        im=resizeAspect(im,(600,600))            #Re-size Image
        w,h = im.size                            #update image size
    center = [int(w/2.0),int(h/2.0)]             #Calculate Center
    box = (center[0]-300, center[1]-300, center[0]+300, center[1]+300) #Defines a box where you want it to be cropped
    croppedIm = im.crop(box)                     #Crop the image
    #croppedIm.show()                            #Show the cropped image
    fileName, fileExtension=os.path.splitext(img)
    croppedIm.save(fileName+'_crop.png', "PNG")  #Save the cropped image

Khi bạn bắt đầu làm việc ở cấp độ lập trình, thì bầu trời là giới hạn! Thậm chí có thể phát hiện khuôn mặt và cắt xung quanh khuôn mặt, cho phép bạn cắt ảnh thông minh hàng ngàn bức ảnh ...

[cập nhật ngày 09/12/2012]


4

ThumbsPlus có thể làm những gì bạn yêu cầu. Trên menu Hình ảnh, chọn Batch Process hoặc nhấn F12 và trả lời các lời nhắc tương tác. Bạn có thể thêm nhiều thao tác vào một bộ và lưu nó để sử dụng ngay cũng như sử dụng trong tương lai. Trong tương lai, chỉ cần truy cập vào tên bộ mà bạn đã cấu hình trước đó để tự động chạy nó trên một thư mục hoặc lựa chọn ảnh, hoặc thậm chí toàn bộ cây thư mục.

Khi xây dựng bộ, bạn được cung cấp một hình ảnh mẫu để minh họa tùy chọn bạn đã thêm vào các hoạt động.

Hãy cẩn thận trong việc xây dựng tập hợp, vì thứ tự các hoạt động là quan trọng.


4

Sizzlepig.com là một công cụ trực tuyến sẽ thực hiện việc này một cách dễ dàng, bạn có thể đặt kích thước "bản thiết kế" là 600x600, và sau đó đặt nó ở giữa tất cả các hình ảnh.

Đối với phần "Đối với hình ảnh nhỏ hơn 600x600, tôi muốn chương trình tăng kích thước của hình ảnh lên kích thước đó." Tôi thực sự khuyên bạn KHÔNG nên cố gắng nâng cấp hình ảnh, nhưng cố gắng tìm một nguồn chất lượng cao hơn để làm việc. Tôi biết không phải lúc nào cũng có thể, nhưng nó sẽ mang lại chất lượng cao hơn nhiều so với nỗ lực nâng cấp.

(Tôi làm việc cho sizzlepig, nhưng nó vẫn là một công cụ tuyệt vời)


Xin vui lòng xem faq . Bạn có thể đề cập đến những điều của riêng bạn ở đây, nhưng bạn cần phải nói như vậy.
Vui lòng đọc hồ sơ của tôi

1
Mát mẻ. Chào mừng đến với trang web, và ở lại và trả lời và hỏi một số câu hỏi khác. :)
Vui lòng đọc hồ sơ của tôi


2

Irfanview có thể làm điều này nhưng mất một chút thiết lập.

Sử dụng tùy chọn chuyển đổi hàng loạt. Chọn "PNG" làm định dạng đầu ra của bạn. Nhấp vào nút "tùy chọn" bên cạnh định dạng đầu ra và chọn nén mà bạn muốn và nhấp vào OK

Chọn hộp có nội dung "Sử dụng tùy chọn nâng cao", sau đó nhấp vào nút "nâng cao"

Bạn sẽ thấy cửa sổ này

Cài đặt nâng cao của Irfanview

Thiết lập thay đổi kích thước với bên ngắn nhất 600. Đảm bảo bạn đánh dấu vào "giữ nguyên tỷ lệ khung hình" và "sử dụng chức năng lấy mẫu lại". Bỏ chọn "Không phóng to hình ảnh nhỏ hơn"

Nếu bạn đang giảm đáng kể kích thước của ảnh gốc thì bạn có thể muốn đánh dấu vào ô "làm sắc nét" và thêm giá trị. Yêu cầu của tôi là hình ảnh có kích thước 150x150 và tôi thấy chúng cần giá trị sắc nét khoảng 20 để phù hợp với chất lượng hình ảnh tôi nhận được từ photoshop. Đối với hình ảnh 600x600 của bạn, bạn có thể không cần giá trị sắc nét - vì vậy bạn có thể bỏ chọn tùy chọn đó.

Thay vì sử dụng "crop", hãy sử dụng cài đặt "kích thước canvas" - đảm bảo bạn đánh dấu vào tùy chọn

Nhấp vào nút "cài đặt" bên cạnh tùy chọn kích thước vải. Bạn sẽ thấy cửa sổ này

Tùy chọn kích thước vải Irfanview

Chọn phương thức 2 và chiều rộng và chiều cao là 600. Chọn tùy chọn "chính giữa" cho neo

Màu vải không quan trọng vì nó thực sự sẽ không thêm viền hình ảnh

Bây giờ, trên màn hình nâng cao, đánh dấu vào ô bên cạnh "thứ tự xử lý tùy chỉnh" và đảm bảo rằng "thay đổi kích thước" là lần đầu tiên trong danh sách - tức là thay đổi kích thước được thực hiện trước khi cắt.

Nhấn vào OK

Đảm bảo bạn đã chọn các tệp bạn muốn chuyển đổi, thiết lập thư mục đầu ra và sau đó nhấp vào "bắt đầu lô"



0

Có một tiện ích với nhiều tùy chọn có sẵn tại http://pixresizer.software.informer.com/

Đây là phần mềm tốt. Phương tiện tốt, dễ sử dụng và nhanh hơn trong công việc. Khi tôi chụp ảnh, tôi đang sử dụng nó để xử lý ảnh hàng loạt. Nhiều lần tôi cần giảm kích thước của bức ảnh để chia sẻ chúng qua internet. Tôi cũng đã thử một số phần mềm khác, nhưng thấy phần mềm này tốt. (Tôi không liên kết với công ty này.)


Phần mềm có tốt không? Tại sao? Bạn có liên kết với công ty?
Paul Cezanne

Xin chào Paul, Có, đây là phần mềm tốt. Phương tiện tốt, dễ sử dụng và nhanh hơn trong công việc. Khi tôi chụp ảnh, tôi đang sử dụng nó để xử lý ảnh hàng loạt. Tôi cũng đã thử một số phần mềm khác, nhưng thấy nó tốt. Không!, Tôi không liên kết với công ty này.
Mahesh Mankar

Mahesh, bạn có thể lấy ý kiến ​​của bạn và chỉnh sửa câu trả lời của bạn? Không phải ai cũng đọc bình luận. Và nói với chúng tôi nhiều hơn và nhiều hơn về nó, chúng tôi muốn biết!
Paul Cezanne

0

Tôi không biết tại sao không ai nhắc đến nó, nhưng sở thích của tôi là multiimageresizer.net . Nó cho phép bạn làm rất nhiều việc như cắt xén, thay đổi định dạng, kích thước, thêm văn bản, hình mờ ... vv. trên nhiều hình ảnh cùng một lúc.

Đây là một trình tiết kiệm thời gian thực .. Tôi khuyên bạn nên!

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.