Cách chỉnh sửa hình ảnh trong Linux Terminal | Học trực tuyến CNTT, học lập trình từ cơ bản đến nâng cao

Cách chỉnh sửa hình ảnh trong Linux Terminal

Chia sẻ kiến thức 03/05/2022

Bạn cần nhanh chóng cắt, thay đổi kích thước hoặc chỉnh sửa hình ảnh trong Linux? Bạn có thể dễ dàng làm điều này bằng các dòng lệnh trong terminal.  

Bạn cần nhanh chóng cắt, thay đổi kích thước hoặc chỉnh sửa hình ảnh trong Linux? Bạn có thể dễ dàng làm điều này bằng các dòng lệnh trong terminal.  

Đây là cách sử dụng công cụ chuyển đổi (convert) Linux, cho phép bạn thực hiện tất cả điều này với terminal thông qua dòng lệnh và hơn thế nữa.

Cài đặt ImageMagick

Công cụ chuyển đổi là một phần của gói imagemagick phổ biến mà bạn cần phải cài đặt. Kiểm tra xem ImageMagick đã được cài đặt hay chưa bằng lệnh:

convert --version

Nếu số phiên bản của ImageMagick được hiển thị, nghĩa là nó đã được cài đặt và bạn có thể chuyển sang phần tiếp theo. Nếu không, hãy cài đặt ImageMagick bằng lệnh:

sudo apt-get -y install imagemagick

Nhận thông tin hình ảnh

Bạn có thể nhận được thông tin cơ bản về bất kỳ hình ảnh nào bằng lệnh:

convert <FILENAME> -print "Type: %m
Size: %b
Dimensions: %wx%h
" /dev/null

Lệnh này sẽ cung cấp cho bạn loại ảnh, kích thước tệp tính bằng KB và kích thước của nó tính bằng pixel và sẽ trông tương tự như:

Type: jpeg
Size: 35.6KB
Dimensions: 640 x 480

Thay đổi định dạng tệp hình ảnh

Bạn có thể dễ dàng thay đổi định dạng tệp của bất kỳ hình ảnh nào với:

convert <SOURCE_FILE> -append <DEST_FILE>

Lệnh này sẽ lấy tệp <SOURCE_FILE>, chuyển đổi nó sang định dạng thích hợp và lưu một hình ảnh mới tại <DEST_FILE> Bạn phải sử dụng đúng phần mở rộng tệp (ví dụ: JPG, GIF, PNG, v.v.) cho DEST_FILE và nó sẽ tự động phát hiện định dạng để chuyển đổi hình ảnh sang.

Thay đổi kích thước hình ảnh trong Linux

Nếu bạn muốn thay đổi kích thước hình ảnh hoặc có thể nhanh chóng tạo hình thu nhỏ, bạn có thể làm như vậy với tùy chọn -resize. Chạy lệnh sau:

convert -resize 25% <SOURCE_FILE> <DEST_FILE>

Thao tác này sẽ thay đổi kích thước hình ảnh và tạo tệp hình ảnh mới tại DEST_FILE có kích thước bằng 25% kích thước của ảnh nguồn. Xin lưu ý, lệnh trên không làm giảm kích thước 25%, nhưng thay vào đó tạo ra một hình ảnh mới có kích thước 25%. Nếu bạn cần phóng to hình ảnh, bạn có thể điều chỉnh phần trăm thành lớn hơn 100%.

Thay vì thay đổi kích thước theo phần trăm, bạn cũng có thể chỉ định các kích thước cụ thể bằng lệnh:

convert -resize 1024x768 profile.jpg profile_large2.jpg

Lệnh trên sẽ thay đổi kích thước hình ảnh nguồn thành 1024×768 pixel và lưu hình ảnh mới tại DEST_FILE.

Cắt ảnh

Bạn có thể cắt hình ảnh bằng lệnh sau:

convert <SOURCE_FILE> -crop 640x250+0+0 <DEST_FILE>

Ví dụ: nếu hình ảnh nguồn là 640×480 pixel, lệnh trên sẽ dẫn đến DEST_FILE là hình ảnh 640×250 pixel chứa nửa trên của hình ảnh trong khi nửa dưới bị cắt. + 0 + 0 trong lệnh trên chỉ định điểm trên cùng bên trái của hình ảnh, hay nói cách khác, nơi bắt đầu cắt.

Sử dụng ví dụ trên, bạn có thể lưu nửa dưới của hình ảnh thay thế bằng lệnh:

convert <SOURCE_FILE> -crop 640x250+0+230 <DEST_FILE>

Thao tác này sẽ bắt đầu cắt ở 0x230 trong hình ảnh nguồn, cắt nửa trên và chỉ để lại nửa dưới.

Xoay hình ảnh

Bạn thậm chí có thể xoay ảnh bằng cách sử dụng lệnh:

convert <SOURCE_FILE> -rotate 90 <DEST_FILE>

Lệnh trên sẽ xoay ảnh nguồn 90 độ theo chiều kim đồng hồ và lưu ảnh kết quả trong DEST_FILE.

Thêm chú thích vào hình ảnh

Một tính năng tuyệt vời khác của công cụ convert là khả năng thêm chú thích vào hình ảnh, bao gồm vị trí trong ảnh để đặt chú thích, cộng với họ, kích thước và màu sắc phông chữ. Sử dụng lệnh sau để thêm chú thích vào hình ảnh:

convert profile.jpg -pointsize 14 -font helvetica -fill yellow -draw 'text 270,160 "Warm Regards from the Family" ' profile_cap.jpg

Lệnh trên sẽ đặt chú thích “Warm Regards from the Family” lên hình ảnh nguồn sử dụng phông chữ Helvetica 14pt màu vàng, với điểm trên cùng bên trái của hình ảnh bắt đầu từ 270×160 pixel và lưu kết quả trong DEST_FILE.

Xin lưu ý, bạn phải cẩn thận với tùy chọn -draw, phải bắt đầu bằng dấu ngoặc đơn, theo sau là vị trí của điểm trên cùng bên trái, sau đó là chú thích được bao quanh bởi dấu ngoặc kép.

Có một danh sách rất lớn các màu có sẵn và nếu muốn, bạn có thể liệt kê tất cả các màu được máy tính của mình hỗ trợ bằng lệnh:

cb:>showrgb

Việc lựa chọn phông chữ khác nhau tùy thuộc vào máy tính của bạn , nhưng tất cả các phông chữ tiêu chuẩn sẽ ở đó. Mỗi hệ điều hành có một chút khác biệt. Trong Ubuntu, các phông chữ nằm trong thư mục /usr/share/fonts và chứa danh sách tất cả các phông chữ hệ thống có sẵn mà bạn có thể sử dụng trong lệnh trên.

Trộn và kết hợp các lệnh chỉnh sửa hình ảnh

Bạn có thể trộn và kết hợp bất kỳ tùy chọn nào ở trên thành một lệnh duy nhất để đạt hiệu quả cao hơn. Ví dụ: nếu bạn có một hình ảnh lớn bị sai hướng, kích thước 2571×1200 pixel và bạn muốn tạo hình thu nhỏ 300×200, bạn có thể sử dụng lệnh:

convert <SOURCE_FILE> -rotate 90 -crop 1200x800 -resize 25% <DEST_FILE>

Lệnh trên đầu tiên sẽ xoay hình ảnh 90 độ, tạo ra kích thước mới 1200×2571 pixel. Tiếp theo, nó sẽ cắt phần thừa ra khỏi phần dưới cùng để nó chỉ có chiều cao 800 pixel và cuối cùng thay đổi kích thước hình ảnh thành 25% kích thước ban đầu dẫn đến hình thu nhỏ cuối cùng có kích thước 300×200 pixel.

Xử lý hàng loạt một thư mục hình ảnh

Bạn có toàn bộ thư mục hình ảnh mà bạn muốn xử lý bằng cùng một lệnh? Ví dụ: bạn có thể muốn tạo hình thu nhỏ của tất cả hình ảnh trong thư mục làm việc hiện tại của mình bằng cách thay đổi kích thước chúng thành 30% so với hiện tại:

mkdir thumbs
for i in `ls | grep .jpg$`; do convert $i -resize 30% thumbs/$i; done

Lệnh trên sẽ đi qua tất cả các tệp trong thư mục hiện tại của bạn có phần mở rộng .jpg, thay đổi kích thước của chúng thành 30% kích thước của chúng và đặt các hình thu nhỏ kết quả vào thư mục con /thumbs/.

Dễ dàng chỉnh sửa hình ảnh trên terminal!

Thông qua hướng dẫn này, hy vọng bạn đã có thể thao tác hình ảnh dễ dàng thông qua dòng lệnh đồng thời dễ dàng xử lý hàng loạt toàn bộ thư mục với một lệnh duy nhất.

Bạn đã biết công cụ convert của ImageMagick là gì, cùng với cách thay đổi định dạng tệp, thay đổi kích thước, cắt, xoay và thêm chú thích vào hình ảnh một cách dễ dàng. Ngoài ra còn có rất nhiều chức năng bổ sung — hãy thử tùy chọn convert -help để có danh sách đầy đủ.

Vân Nguyễn

Dịch từ: https://www.makeuseof.com/how-to-manipulate-images-in-the-linux-terminal/

ĐĂNG KÝ TƯ VẤN HỌC LẬP TRÌNH TẠI FUNiX

Bình luận (
0
)

Bài liên quan

  • Tầng 0, tòa nhà FPT, 17 Duy Tân, Q. Cầu Giấy, Hà Nội
  • info@funix.edu.vn
  • 0782313602 (Zalo, Viber)        
Chat Button
FUNiX V2 GenAI Chatbot ×

yêu cầu gọi lại