User Tag List

+ Trả lời chủ đề
Trang 1/2 12 CuốiCuối
Hiện kết quả từ 1 tới 10 của 12

Chủ đề: Thay đổi kích thước, định dạng và chỉnh sửa ảnh trên Linux bằng ImageMagick

  1. #1
    .:: Grumpy svBKer ::. Avatar của 1973
    Tham gia ngày
    Mar 2010
    Bài gửi
    3.793

    Mặc định Thay đổi kích thước, định dạng và chỉnh sửa ảnh trên Linux bằng ImageMagick

    Một bài viết rất hay trên HowtoGeek được dịch bởi quantrimang:

    ImageMagick là một bộ ứng dụng cho phép thao tác với ảnh trên giao diện dòng lệnh. Phần mềm có thể nhanh chóng thực hiện các xử lý trên ảnh từ một đầu cuối (terminal), tiến hành xử lý khối nhiều ảnh hay được kết hợp vào bash script. Bài viết giới thiệu cho người dùng cấu trúc lệnh của ImageMagick, các thao tác cơ bản, cách kết hợp các thao tác và tiến hành xử lý khối nhiều bức ảnh.

    Cài đặt

    ImageMagick không được cài mặc định trên Ubuntu. Để cài đặt phần mềm, sử dụng câu lệnh sau:

    $ sudo apt-get install imagemagick
    >_


    Thay đổi định dạng ảnh

    Lệnh convert lấy một bức ảnh, thao tác trên nó và lưu bức ảnh với tên file mà người dùng quy định. Một trong những công việc cơ bản nhất người dùng có thể làm là thay đổi định dạng ảnh. Câu lệnh này lấy một file PNG tên là “howtogeek.png” theo đường dẫn và tạo một bức ảnh JPEG từ đó:

    $ convert howtogeek.png howtogeek.jpg
    >_



    Người dùng cũng được tự quy định mức nén cho ảnh JPEG:

    $ convert howtogeek.png -quality 95 howtogeek.jpg
    >_


    Mức nén phải nằm trong khoảng từ 1 đến 100. ImageMagick sẽ sử dụng luôn mức nén của ảnh đầu vào nếu có. Nếu không, ImageMagick mặc định mức nén bằng 92.

    Thay đổi kích thước ảnh

    Câu lệnh convert cũng giúp thay đổi kích thước ảnh nhanh chóng. Câu lệnh sau đây yêu cầu ImageMagick định cỡ ảnh với chiều rộng là 200 pixel và 100 pixel chiều cao.

    $ convert example.png -resize 200×100 example.png
    >_


    Do đã sử dụng tên giống nhau cho hai file ảnh vì thế ImageMagick sẽ ghi đè file ảnh mới lên file ảnh gốc.


    ImageMagick sẽ cố gắng giữ nguyên hệ số co (aspect ratio) khi câu lệnh trên được sử dụng. Nó sẽ thay đổi bức ảnh sao cho phù hợp với kích thước 200x100 nhưng trên thực tế không được chính xác hoàn toàn. Nếu muốn ép bức ảnh vào một kích cỡ quy định trước, người dùng chỉ cần thêm dấu chấm than sau kích thước ảnh. Nhưng điều này sẽ ảnh hưởng đến hệ số co.

    $ convert example.png -resize 200×100! example.png
    >_


    Người dùng cũng có thể quy định độ rộng hay độ cao và ImageMagick sẽ thay đổi kích thước bức ảnh theo độ rộng hay độ cao đó và vẫn giữ được hệ số co. Để thay đổi độ rộng ảnh thành 200 ta dùng:

    $ convert example.png -resize 200 example.png
    >_


    câu lệnh sau sẽ thay đổi chiều cao ảnh thành 100:

    $ convert example.png -resize x100 example.png
    >_


    Xoay ảnh

    ImageMagick cũng giúp xoay ảnh nhanh chóng. Câu lệnh dưới đây lấy một bức ảnh có tên howtogeek.jpg, xoay bức ảnh 90o và lưu bức ảnh được xoay là howtogeek-rotated.jpg:

    $ convert howtogeek.jpg -rotate 90 howtogeek-rotated.jpg
    >_


    Nếu tên file ảnh mới trùng với tên file gốc, ImageMagick sẽ tiến hành ghi đè lên file ảnh gốc.


    Sử dụng các hiệu ứng

    ImageMagick có thể áp nhiều hiệu ứng vào một bức ảnh. Chẳng hạn, câu lệnh sau thêm hiệu ứng “charcoal” vào ảnh:

    $ convert howtogeek.jpg -charcoal 2 howtogeek-charcoal.jpg
    >_



    Câu lệnh tạo hiệu ứng vẽ chì nghệ thuật cho bức ảnh. “2” trong câu lệnh là mức độ tác động của hiệu ứng. Số càng lớn, mức độ tác động càng rõ ràng.


    Câu lệnh sau tạo hiệu ứng “Impode” với mức tác động bằng 1:

    $ convert howtogeek.jpg -implode 1 howtogeek-imploded.jpg
    >_



    Hiệu ứng “impode” làm cho bức ảnh như bị xoáy vào tâm ảnh.


    Kết hợp các thao tác

    Tất cả các thao tác này có thể kết hợp lại. Với câu lệnh đơn, người dùng có thể thay đổi kích thước ảnh, xoay, tạo hiệu ứng và chuyển đổi sang định dạng ảnh khác:

    $ convert howtogeek.png -resize 400×400 -rotate 180 -charcoal 4 -quality 95 howtogeek.jpg
    >_



    Đây chỉ là những thao tác cơ bản ban đầu mà người dùng dễ dàng thực hiện được trên ImageMagick. Ngoài ra, còn có nhiều thao tác khác cũng có thể được kết hợp lại. Xử lý khối

    Người dùng nên lợi dụng giao diện Bash để nhanh chóng thực hiện xử lý khối nhiều bức ảnh. Ví dụ như câu lệnh sau sẽ lấy tất cả các file PNG từ đường dẫn, xoay và lưu các bức ảnh đã xoay lại.

    $ for file in *.png; do convert $file -rotate 90 rotated-$file; done
    >_



    Ngoài ra, chúng ta cũng có thể dễ dàng sửa đổi câu lệnh để thực hiện các thao tác khác cũng như dễ dàng kết hợp các câu lệnh xử lý khối vào Bash shell script để tự động hóa thao tác xử lý.
    Contact me:
    Email: sangnd [at] svBK.vn
    Personal website: My Blog | Chat với người lạ
    Facebook Page của Bách Khoa Forum: http://www.facebook.com/svbk.vn

  2. Tớ cảm ơn 1973 đã chia sẻ.


  3. #2
    .:: Grumpy svBKer ::. Avatar của 1973
    Tham gia ngày
    Mar 2010
    Bài gửi
    3.793

    Mặc định Re: Thay đổi kích thước, định dạng và chỉnh sửa ảnh trên Linux bằng ImageMagick

    Còn đây là cách tạo watermark với ImageMagick, rất hữu ích

    http://tuxtweaks.com/2009/08/howto-w...emagick-linux/

  4. #3
    HUT's Student
    Tham gia ngày
    Feb 2012
    Bài gửi
    272

    Mặc định Re: Thay đổi kích thước, định dạng và chỉnh sửa ảnh trên Linux bằng ImageMagick

    +1 cho imagemagick.

    Đóng góp thêm link của mấy cái script dựa trên imagemagick: http://www.fmwconcepts.com/imagemagick/
    Trước giờ thao tác với ảnh số lượng lớn đều phải dùng thằng này. Xài PTS với GIMP các kiểu ở đây có lẽ đến tết cũng chưa xong.

  5. #4
    HUT's Engineer
    Tham gia ngày
    Jun 2011
    Bài gửi
    686

    Mặc định Re: Thay đổi kích thước, định dạng và chỉnh sửa ảnh trên Linux bằng ImageMagick

    Quote Nguyên văn bởi boss14420 Xem bài viết
    +1 cho imagemagick.

    Đóng góp thêm link của mấy cái script dựa trên imagemagick: http://www.fmwconcepts.com/imagemagick/
    Trước giờ thao tác với ảnh số lượng lớn đều phải dùng thằng này. Xài PTS với GIMP các kiểu ở đây có lẽ đến tết cũng chưa xong.
    dùng photoshop dc bao lâu mà phát biểu ngầu thế, trong photoshop người ta có thể record action (hay macro) dùng để ghi lại các thao tác của người dùng, sau đó có thể áp dụng hàng loạt

  6. #5
    Độc Thân Bang Hội Avatar của hienhyn
    Tham gia ngày
    Nov 2011
    Bài gửi
    691

    Mặc định Re: Thay đổi kích thước, định dạng và chỉnh sửa ảnh trên Linux bằng ImageMagick

    Cái này có thay đổi định dạng từ Gimp sang jpg được ko anh? Facebook và một số trang up ảnh không hỗ trợ định dạng .xcf
    Yên Thành là mẹ là cha
    Đói cơm rách áo thì ra Yên Thành


  7. #6
    HUT's Student
    Tham gia ngày
    Feb 2012
    Bài gửi
    272

    Mặc định Re: Thay đổi kích thước, định dạng và chỉnh sửa ảnh trên Linux bằng ImageMagick

    Quote Nguyên văn bởi pkthanh92 Xem bài viết
    dùng photoshop dc bao lâu mà phát biểu ngầu thế, trong photoshop người ta có thể record action (hay macro) dùng để ghi lại các thao tác của người dùng, sau đó có thể áp dụng hàng loạt
    Vậy dùng PTS có thể làm được việc này không:
    - 200 bức ảnh được scan từ truyện tranh, đa phần bị xiên (góc khác nhau) và có phần thừa bên ngoài,
    - Cần loại bỏ phần thừa và xoay ảnh lại cho đúng với hướng ban đầu của nó.

  8. #7
    HUT's Engineer
    Tham gia ngày
    Jun 2011
    Bài gửi
    686

    Mặc định Re: Thay đổi kích thước, định dạng và chỉnh sửa ảnh trên Linux bằng ImageMagick

    Quote Nguyên văn bởi boss14420 Xem bài viết
    Vậy dùng PTS có thể làm được việc này không:
    - 200 bức ảnh được scan từ truyện tranh, đa phần bị xiên (góc khác nhau) và có phần thừa bên ngoài,
    - Cần loại bỏ phần thừa và xoay ảnh lại cho đúng với hướng ban đầu của nó.
    đã biểu là chỉ cần ghi lại thao tác người dùng với bức ảnh đầu sau đó cho chạy với 199 bức ảnh còn lại

    trừ phi thao tác giữa các bức ảnh là khác nhau còn đâu, cắt xén hay quay, sửa màu gì gì cũng dc hết

  9. #8
    HUT's Student
    Tham gia ngày
    Feb 2012
    Bài gửi
    272

    Mặc định Re: Thay đổi kích thước, định dạng và chỉnh sửa ảnh trên Linux bằng ImageMagick

    Quote Nguyên văn bởi pkthanh92 Xem bài viết
    đã biểu là chỉ cần ghi lại thao tác người dùng với bức ảnh đầu sau đó cho chạy với 199 bức ảnh còn lại

    trừ phi thao tác giữa các bức ảnh là khác nhau còn đâu, cắt xén hay quay, sửa màu gì gì cũng dc hết
    Nhưng mà góc lệch khác nhau, kích thước phần thừa cũng khác nhau. Bắt buộc phải phân tích từng bức ảnh một.

  10. #9
    HUT's Engineer
    Tham gia ngày
    Jun 2011
    Bài gửi
    686

    Mặc định Re: Thay đổi kích thước, định dạng và chỉnh sửa ảnh trên Linux bằng ImageMagick

    Quote Nguyên văn bởi boss14420 Xem bài viết
    Nhưng mà góc lệch khác nhau, kích thước phần thừa cũng khác nhau. Bắt buộc phải phân tích từng bức ảnh một.
    mở ảnh lên, chọn File->Automate->Crop and Straighten Photos,
    vùng viền trắng bên ngoài tự động bị cắt bỏ, ảnh tự động xoay thẳng.

  11. #10
    .:: Grumpy svBKer ::. Avatar của 1973
    Tham gia ngày
    Mar 2010
    Bài gửi
    3.793

    Mặc định Re: Thay đổi kích thước, định dạng và chỉnh sửa ảnh trên Linux bằng ImageMagick

    Quote Nguyên văn bởi hienhyn Xem bài viết
    Cái này có thay đổi định dạng từ Gimp sang jpg được ko anh? Facebook và một số trang up ảnh không hỗ trợ định dạng .xcf
    .xcf cũng là 1 định dạng ảnh à? Anh chưa nghe đến bao giờ nhưng nếu là định dạng ảnh thì theo anh hoàn toàn có thể convert được.

+ Trả lời chủ đề
Trang 1/2 12 CuốiCuối

Thông tin chủ đề

Users Browsing this Thread

Hiện có 1 người đọc bài này. (0 thành viên và 1 khách)

Từ khóa (Tag) của chủ đề này

Quyền viết bài

  • Bạn không thể gửi chủ đề mới
  • Bạn không thể gửi trả lời
  • Bạn không thể gửi file đính kèm
  • Bạn không thể sửa bài viết của mình


About svBK.VN

    Bách Khoa Forum - Diễn đàn thảo luận chung của sinh viên ĐH Bách Khoa Hà Nội. Nơi giao lưu giữa sinh viên - cựu sinh viên - giảng viên của trường.

Follow us on

Twitter Facebook youtube