Xóa nền tách một đối tượng khỏi môi trường xung quanh để bạn có thể đặt nó trên nền trong suốt, hoán đổi cảnh hoặc ghép nó vào một thiết kế mới. Về cơ bản, bạn đang ước tính một mặt n ạ alpha—độ mờ mỗi pixel từ 0 đến 1—và sau đó ghép alpha tiền cảnh lên một thứ khác. Đây là toán học từ Porter–Duff và là nguyên nhân của các cạm bẫy quen thuộc như “viền” và alpha thẳng và alpha nhân trước. Để có hướng dẫn thực tế về nhân trước và màu tuyến tính, hãy xem ghi chú Win2D của Microsoft, Søren Sandmann, và bài viết của Lomont về trộn tuyến tính.
Nếu bạn có thể kiểm soát việc chụp, hãy sơn phông nền bằng một màu đồng nhất (thường là màu xanh lá cây) và loại bỏ màu đó. Nó nhanh, đã được thử nghiệm trong phim và phát sóng, và lý tưởng cho video. Sự đánh đổi là ánh sáng và trang phục: ánh sáng màu tràn ra các cạnh (đặc biệt là tóc), vì vậy bạn sẽ sử dụng các công cụ khử tràn để trung hòa ô nhiễm. Các tài liệu tham khảo tốt bao gồm tài liệu của Nuke, Mixing Light, và một bản demo thực hành Fusion.
Đối với các hình ảnh đơn lẻ có nền lộn xộn, các thuật toán tương tác cần một vài gợi ý của người dùng—ví dụ: một hình chữ nhật lỏng lẻo hoặc các nét vẽ nguệch ngoạc—và hội tụ thành một mặt nạ sắc nét. Phương pháp kinh điển là GrabCut (chương sách), học các mô hình màu cho tiền cảnh/nền và sử dụng các đường cắt đồ thị lặp đi lặp lại để tách chúng. Bạn sẽ thấy những ý tưởng tương tự trong Lựa chọn tiền cảnh của GIMP dựa trên SIOX (plugin ImageJ).
Matting giải quyết độ trong suốt phân đoạn ở các ranh giới mỏng manh (tóc, lông, khói, kính). Matting dạng đóng cổ điển lấy một bản đồ ba vùng (chắc chắn-tiền cảnh/chắc chắn-nền/không xác định) và giải một hệ thống tuyến tính cho alpha với độ trung thực cạnh mạnh. Matting hình ảnh sâu hiện đại đào tạo các mạng nơ-ron trên bộ dữ liệu Adobe Composition-1K (tài liệu MMEditing), và được đánh giá bằng các số liệu như SAD, MSE, Gradient và Connectivity (giải thích điểm chuẩn).
Công việc phân đoạn liên quan cũng hữu ích: DeepLabv3+ tinh chỉnh các ranh giới bằng một bộ mã hóa-giải mã và các tích chập atrous (PDF); Mask R-CNN cung cấp các mặt nạ cho mỗi phiên bản (PDF); và SAM (Segment Anything) là một mô hình nền tảng có thể nhắc tạo ra các mặt nạ không cần học trên các hình ảnh không quen thuộc.
Công trình học thuật báo cáo các lỗi SAD, MSE, Gradient, và Connectivity trên Composition-1K. Nếu bạn đang chọn một mô hình, hãy tìm những số liệu đó (định nghĩa số liệu; phần số liệu của Background Matting). Đối với chân dung/video, MODNet và Background Matting V2 rất mạnh; đối với các hình ảnh “đối tượng nổi bật” chung, U2-Net là một đường cơ sở vững chắc; đối với độ trong suốt khó, FBA có thể sạch hơn.
JPEG, viết tắt của Joint Photographic Experts Group, là một phương pháp nén mất dữ liệu thường được sử dụng cho hình ảnh kỹ thuật số, đặc biệt là đối với những hình ảnh được tạo ra bằng nhiếp ảnh kỹ thuật số. Mức độ nén có thể được điều chỉnh, cho phép lựa chọn sự cân bằng giữa kích thước lưu trữ và chất lượng hình ảnh. JPEG thường đạt tỷ lệ nén 10:1 với ít mất mát đáng kể về chất lượng hình ảnh.
Thuật toán nén JPEG là cốt lõi của tiêu chuẩn JPEG. Quá trình bắt đầu bằng việc chuyển đổi một hình ảnh kỹ thuật số từ không gian màu RGB thông thường của nó sang một không gian màu khác được gọi là YCbCr. Không gian màu YCbCr tách hình ảnh thành độ sáng (Y), biểu thị mức độ sáng và sắc độ (Cb và Cr), biểu thị thông tin màu sắc. Sự tách biệt này có lợi vì mắt người nhạy cảm hơn với các biến thể về độ sáng so với màu sắc, cho phép nén tận dụng lợi thế này bằng cách nén thông tin màu nhiều hơn độ sáng.
Khi hình ảnh ở trong không gian màu YCbCr, bước tiếp theo trong quá trình nén JPEG là hạ mẫu các kênh sắc độ. Hạ mẫu làm giảm độ phân giải của thông tin sắc độ, thường không ảnh hưởng đáng kể đến chất lượng nhận thức của hình ảnh, do mắt người ít nhạy cảm hơn với chi tiết màu sắc. Bước này là tùy chọn và có thể được điều chỉnh tùy thuộc vào sự cân bằng mong muốn giữa chất lượng hình ảnh và kích thước tệp.
Sau khi hạ mẫu, hình ảnh được chia thành các khối, thường có kích thước 8x8 pixel. Sau đó, mỗi khối được xử lý riêng. Bước đầu tiên trong quá trình xử lý từng khối là áp dụng Biến đổi Cosine rời rạc (DCT). DCT là một phép toán chuyển đổi dữ liệu miền không gian (giá trị pixel) thành miền tần số. Kết quả là một ma trận các hệ số tần số biểu diễn dữ liệu của khối hình ảnh theo các thành phần tần số không gian của nó.
Các hệ số tần số thu được từ DCT sau đó được lượng tử hóa. Lượng tử hóa là quá trình ánh xạ một tập hợp lớn các giá trị đầu vào thành một tập hợp nhỏ hơn - trong trường hợp của JPEG, điều này có nghĩa là giảm độ chính xác của các hệ số tần số. Đây là nơi xảy ra phần mất dữ liệu của quá trình nén, vì một số thông tin hình ảnh bị loại bỏ. Bước lượng tử hóa được điều khiển bởi một bảng lượng tử hóa, bảng này xác định mức độ nén được áp dụng cho từng thành phần tần số. Các bảng lượng tử hóa có thể được điều chỉnh để ưu tiên chất lượng hình ảnh cao hơn (ít nén hơn) hoặc kích thước tệp nhỏ hơn (nén nhiều hơn).
Sau khi lượng tử hóa, các hệ số được sắp xếp theo thứ tự ziczac, bắt đầu từ góc trên cùng bên trái và theo một mẫu ưu tiên các thành phần tần số thấp hơn so với các thành phần tần số cao hơn. Điều này là do các thành phần tần số thấp hơn (biểu thị các phần đồng nhất hơn của hình ảnh) quan trọng hơn đối với diện mạo tổng thể so với các thành phần tần số cao hơn (biểu thị các chi tiết và cạnh nhỏ hơn).
Bước tiếp theo trong quá trình nén JPEG là mã hóa entropy, đây là một phương pháp nén không mất dữ liệu. Hình thức mã hóa entropy phổ biến nhất được sử dụng trong JPEG là mã hóa Huffman, mặc dù mã hóa số học cũng là một tùy chọn. Mã hóa Huffman hoạt động bằng cách gán các mã ngắn hơn cho các lần xuất hiện thường xuyên hơn và các mã dài hơn cho các lần xuất hiện ít thường xuyên hơn. Vì thứ tự ziczac có xu hướng nhóm các hệ số tần số tương tự lại với nhau, nên nó làm tăng hiệu quả của mã hóa Huffman.
Khi mã hóa entropy hoàn tất, dữ liệu đã nén được lưu trữ trong một định dạng tệp tuân theo tiêu chuẩn JPEG. Định dạng tệp này bao gồm một tiêu đề chứa thông tin về hình ảnh, chẳng hạn như kích thước và các bảng lượng tử hóa được sử dụng, theo sau là dữ liệu hình ảnh được mã hóa Huffman. Định dạng tệp cũng hỗ trợ việc đưa vào siêu dữ liệu, chẳng hạn như dữ liệu EXIF, có thể chứa thông tin về cài đặt máy ảnh được sử dụng để chụp ảnh, ngày và giờ chụp và các chi tiết liên quan khác.
Khi mở một hình ảnh JPEG, quá trình giải nén về cơ bản đảo ngược các bước nén. Dữ liệu được mã hóa Huffman được giải mã, các hệ số tần số được lượng tử hóa được khử lượng tử hóa bằng cách sử dụng cùng các bảng lượng tử hóa đã được sử dụng trong quá trình nén và Biến đổi Cosine rời rạc nghịch đảo (IDCT) được áp dụng cho từng khối để chuyển đổi dữ liệu miền tần số trở lại thành các giá trị pixel miền không gian.
Các quá trình khử lượng tử hóa và IDCT gây ra một số lỗi do bản chất mất dữ liệu của quá trình nén, đó là lý do tại sao JPEG không lý tưởng cho những hình ảnh sẽ trải qua nhiều lần chỉnh sửa và lưu lại. Mỗi lần lưu một hình ảnh JPEG, nó lại trải qua quá trình nén một lần nữa và thông tin hình ảnh bổ sung sẽ bị mất. Điều này có thể dẫn đến sự suy giảm đáng kể về chất lượng hình ảnh theo thời gian, một hiện tượng được gọi là 'mất thế hệ'.
Mặc dù có bản chất mất dữ liệu của nén JPEG, nhưng nó vẫn là một định dạng hình ảnh phổ biến do tính linh hoạt và hiệu quả của nó. Hình ảnh JPEG có thể có kích thước tệp rất nhỏ, khiến chúng lý tưởng để sử dụng trên web, nơi băng thông và thời gian tải là những cân nhắc quan trọng. Ngoài ra, tiêu chuẩn JPEG bao gồm một chế độ tiến bộ, cho phép mã hóa một hình ảnh theo cách mà nó có thể được giải mã theo nhiều lần, mỗi lần cải thiện độ phân giải của hình ảnh. Điều này đặc biệt hữu ích cho hình ảnh web, vì nó cho phép hiển thị nhanh chóng phiên bản chất lượng thấp của hình ảnh, với chất lượng được cải thiện khi tải xuống nhiều dữ liệu hơn.
JPEG cũng có một số hạn chế và không phải lúc nào cũng là lựa chọn tốt nhất cho mọi loại hình ảnh. Ví dụ, nó không phù hợp với những hình ảnh có các cạnh sắc nét hoặc văn bản có độ tương phản cao, vì quá trình nén có thể tạo ra các hiện vật đáng chú ý xung quanh các khu vực này. Ngoài ra, JPEG không hỗ trợ tính trong suốt, đây là một tính năng được cung cấp bởi các định dạng khác như PNG và GIF.
Để giải quyết một số hạn chế của tiêu chuẩn JPEG ban đầu, các định dạng mới đã được phát triển, chẳng hạn như JPEG 2000 và JPEG XR. Các định dạng này cung cấp hiệu quả nén được cải thiện, hỗ trợ độ sâu bit cao hơn và các tính năng bổ sung như tính trong suốt và nén không mất dữ liệu. Tuy nhiên, chúng vẫn chưa đạt được mức độ phổ biến rộng rãi như định dạng JPEG ban đầu.
Tóm lại, định dạng hình ảnh JPEG là sự cân bằng phức tạp giữa toán học, tâm lý thị giác của con người và khoa học máy tính. Việc sử dụng rộng rãi của nó là minh chứng cho hiệu quả của nó trong việc giảm kích thước tệp trong khi vẫn duy trì mức chất lượng hình ảnh có thể chấp nhận được cho hầu hết các ứng dụng. Hiểu được các khía cạnh kỹ thuật của JPEG có thể giúp người dùng đưa ra quyết định sáng suốt về thời điểm sử dụng định dạng này và cách tối ưu hóa hình ảnh của họ để cân bằng giữa chất lượng và kích thước tệp phù hợp nhất với nhu cầu của họ.
Bộ chuyển đổi này chạy hoàn toàn trong trình duyệt của bạn. Khi bạn chọn một tệp, nó sẽ được đọc vào bộ nhớ và chuyển đổi sang định dạng đã chọn. Sau đó, bạn có thể tải xuống tệp đã chuyển đổi.
Việc chuyển đổi bắt đầu ngay lập tức và hầu hết các tệp được chuyển đổi trong vòng chưa đầy một giây. Các tệp lớn hơn có thể mất nhiều thời gian hơn.
Các tệp của bạn không bao giờ được tải lên máy chủ của chúng tôi. Chúng được chuyển đổi trong trình duyệt của bạn và sau đó tệp đã chuyển đổi sẽ được tải xuống. Chúng tôi không bao giờ thấy các tệp của bạn.
Chúng tôi hỗ trợ chuyển đổi giữa tất cả các định dạng hình ảnh, bao gồm JPEG, PNG, GIF, WebP, SVG, BMP, TIFF, v.v.
Bộ chuyển đổi này hoàn toàn miễn phí và sẽ luôn miễn phí. Bởi vì nó chạy trong trình duyệt của bạn, chúng tôi không phải trả tiền cho máy chủ, vì vậy chúng tôi không cần tính phí bạn.
Đúng! Bạn có thể chuyển đổi bao nhiêu tệp tùy thích cùng một lúc. Chỉ cần chọn nhiều tệp khi bạn thêm chúng.