Làm cách nào để cắt JPG mà không cần giải nén?


13

Có thể cắt hình ảnh JPG mà không làm giảm chất lượng / giải nén phần còn lại của hình ảnh không?


Tôi không nghĩ việc cắt xén một hình ảnh sẽ làm mất chất lượng của nó.
ekclone 7/07/2015

2
Không phải trong chính nó. Tuy nhiên, nếu trình chỉnh sửa hình ảnh bạn đang sử dụng không đủ thông minh, khi nói đến việc lưu hình ảnh bị cắt, nó có thể dễ dàng nén lại một hình ảnh đã nén, điều này sẽ không cần thiết và dẫn đến mất hình ảnh. Tôi tự hỏi nếu nó có thể tránh điều này.
Dan Stevens

1
Bạn có thể cho tôi biết loại phần mềm bạn sử dụng? để chỉnh sửa hình ảnh
ekclone 7/07/2015

Câu trả lời:


5

FreeVImager có thể làm điều này với GUI đẹp. Thực đơn cắt giảm Vận hành vụ mùa

Nó cũng có thể thực hiện phép quay JPEG không mất dữ liệu (xoay 90 độ là không mất). Đó là FOSS, vì vậy nếu bạn dùng Linux, đáng để lấy Rượu cho một người.


Hmm ... Tôi đã thử điều này và phiên bản hiện tại phù hợp với minh họa của bạn. Nhưng tôi không thể tìm thấy điều khiển "chấp nhận" hoặc "thực hiện" để sử dụng sau khi di chuyển hình chữ nhật đến vị trí mong muốn.
JDługosz

@ JDługosz chỉ cần nhấn Enter :) (mẹo trong dòng trạng thái) Ngoài ra, tác giả có thể giao tiếp và sẵn sàng trả lời email. Bạn có thể nói với anh ta ;-)
LogicDaemon

1
Wow, nhà của chị tôi trong Stack Exchange :). Cảm ơn, nếu tôi sử dụng FreeVimager, tôi có thể cắt kích thước lớn jpg; nếu tôi sử dụng GIMP, tôi không thể làm được.
Саша Черных

Chương trình này đang đưa phía dưới và bên phải đến ranh giới của iMCU mặc dù nó không cần thiết và hạn chế. IrfanView làm việc tốt hơn cho tôi.
mm201

9

Có thể cắt xén hình ảnh JPEG bằng cách sử dụng ứng dụng "jpegtran" đi kèm với libjpeg; xem https://en.wikipedia.org/wiki/Libjpeg .

Trích dẫn từ "man jpegtran" trên hệ thống cài đặt jpegtran:

.. crop lossless bị hạn chế bởi định dạng JPEG hiện tại: góc trên bên trái của vùng được chọn phải nằm trên ranh giới iMCU [8 hoặc 16]. Nếu điều này không giữ được các tham số crop nhất định, chúng tôi sẽ âm thầm di chuyển góc trên bên trái lên và / hoặc bên trái để làm như vậy, đồng thời tăng kích thước vùng để giữ cho góc phía dưới bên phải không thay đổi. (Do đó, hình ảnh đầu ra bao phủ ít nhất là khu vực được yêu cầu, nhưng có thể bao phủ nhiều hơn.)

Với phần mềm chỉnh sửa hình ảnh khác, bạn có thể giảm thiểu tổn thất bằng cách đảm bảo rằng vùng bị cắt có kích thước là bội số của 8 và được đặt với độ lệch là bội số của 8 (hoặc 16, nếu các màu được ghép lại) từ góc trên bên trái của ảnh gốc và "chất lượng" nén giống như ảnh gốc.


Wiki cho biết "cắt xén ở viền khối hình ảnh (cứ 8 × 8 hoặc 16 × 16 pixel)." Công cụ có giới hạn bạn đến những ranh giới này để thực hiện điều này không? Tôi đoán từ lưu ý của bạn về việc giảm thiểu tổn thất trong các chương trình khác rằng câu trả lời là "có" (?)
Yorik 7/07/2015

1
Đôi khi bội số phải là 16 thay vì 8. JPEG cho phép lấy mẫu thông tin màu, điều đó có nghĩa là các khối 8x8 cho các thành phần màu đó sẽ thực sự bao phủ 16x16 pixel.
Đánh dấu tiền chuộc

1
@MarkRansom đúng, cảm ơn. Tôi đã mở rộng câu trả lời để đề cập đến "hoặc 16"
Glenn Randers-Pehrson

Làm thế nào để bạn xác định nếu iMCU là 8 hoặc 16 trong linux?
Luis A. Florit

@ LuisA.Florit bạn có thể chạy "nhận dạng -verbose" của ImageMagick hoặc một số công cụ kiểm tra JPEG khác và tìm "các yếu tố lấy mẫu".
Glenn Randers-Pehrson

2

Irfanview có chức năng cắt và xoay JPG không mất dữ liệu:

nhập mô tả hình ảnh ở đây


Điều này được truy cập trong menu với Tùy chọn -> JPG lossless crop ... (PlugIn).
Alan L

0

Nếu bạn đang sử dụng Photoshop® thì tôi không tin rằng hình ảnh sẽ nén khi nó cắt. Quá trình nén xảy ra khi bạn lưu lại tài liệu dưới dạng JPG. Luôn luôn là tốt nhất để bắt đầu với định dạng hình ảnh không nén không mất dữ liệu cao nhất mà bạn có thể, chẳng hạn như .NEF, .BMP ... những người khác (?) Như đã nói, hãy ị ra.


Tôi không nghĩ nó như bạn nghĩ. Tôi nghĩ rằng Photoshop không thể cắt xén mà không cần giải nén.
Royi
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.