Bộ Lọc & Hiệu Ứng Hình Ảnh

Áp dụng các bộ lọc, điều chỉnh độ sáng, độ tương phản, độ bão hòa và nhiều hơn nữa.

100% phía máy khách · tệp của bạn không bao giờ rời khỏi thiết bị

Kéo-thả một hình ảnh vào đây

hoặc nhấp để duyệt · JPEG, PNG, WebP, GIF, BMP, AVIF và nhiều hơn nữa

"Bộ lọc hình ảnh" thực sự làm gì với các pixel của bạn

Một bộ lọc hình ảnh là một phép toán được áp dụng cho mọi pixel. Mỗi bộ lọc trên công cụ này tương ứng với một phép biến đổi cụ thể. Độ sáng 150% nhân mỗi kênh màu với 1,5 (được kẹp ở mức tối đa), làm cho toàn bộ hình ảnh sáng hơn. Tương phản 150% kéo căng các giá trị xung quanh điểm giữa, kéo các pixel tối tối hơn và các pixel sáng sáng hơn. Độ bão hòa dịch chuyển các màu sắc về hoặc ra khỏi màu xám trong khi vẫn giữ độ sáng tổng thể. Xoay tông màu quay mỗi màu xung quanh vòng tròn màu theo một góc đã chọn. Sepia áp dụng một ma trận 3x3 cố định ánh xạ RGB sang một bảng màu nâu ấm áp (R' = 0,393R + 0,769G + 0,189B, và các công thức tương tự cho G' và B'). Thang xám thu gọn mỗi pixel thành trung bình có trọng số luminance của nó sử dụng các hệ số ITU-R BT.601 (0,299, 0,587, 0,114), cùng các trọng số mà thị giác con người sử dụng để cảm nhận độ sáng. Làm mờ là một tích chập Gaussian: mỗi pixel đầu ra trở thành trung bình có trọng số của các pixel xung quanh. Đảo ngược lật mỗi kênh: c' = 1 trừ c.

Mỗi preset trên công cụ này là một sự kết hợp được đặt tên của các hoạt động này. "Vivid" xếp chồng độ tương phản và độ bão hòa được nâng cao; "B&W" đặt thang xám lên 100%; "Sepia" đặt sepia lên 100% và giảm độ bão hòa; "Ấm" thêm tông sepia và độ bão hòa nhẹ nhàng; "Lạnh" xoay tông màu về xanh dương; "Vintage" giảm độ tương phản và độ bão hòa trong khi hơi làm ấm; "Dramatic" đẩy mạnh độ tương phản và độ bão hòa; "Fade" làm dịu độ tương phản và làm sáng hơi một chút. Phía sau hậu trường, mỗi preset chỉ viết một chuỗi bộ lọc CSS khác nhau. Bạn có thể bắt đầu từ bất kỳ preset nào và điều chỉnh các thanh trượt riêng lẻ để tìm chính xác diện mạo bạn muốn.

Tất cả các bộ lọc ở đây áp dụng thông qua các hàm bộ lọc CSS được tiêu chuẩn hóa của trình duyệt (W3C Filter Effects Module Level 1), được triển khai qua GPU trên mọi trình duyệt hiện đại kể từ 2016-2019. Bản xem trước cập nhật trong thời gian thực khi bạn di chuyển các thanh trượt vì các hoạt động được tính toán trên card đồ họa, không phải CPU. Bước tải xuống nướng kết quả bộ lọc vào một PNG, JPEG, hoặc WebP mới ở kích thước hình ảnh gốc, vì vậy tệp được xuất đã có diện mạo được áp dụng; không cần bước render riêng biệt.

Cách công cụ này hoạt động dưới mui xe

Engine bộ lọc là API Canvas của trình duyệt kết hợp với các hàm bộ lọc CSS. Khi bạn thả một hình ảnh, bộ giải mã tích hợp của trình duyệt biến tệp (JPEG, PNG, WebP, GIF, BMP, AVIF, hoặc SVG) thành các pixel thô trên một HTMLImageElement trong bộ nhớ. Các pixel được vẽ lên một phần tử . Để áp dụng một bộ lọc, công cụ đặt ctx.filter = "brightness(150%) contrast(110%) saturate(120%) sepia(20%) ..." và vẽ lại hình ảnh nguồn; trình duyệt áp dụng chuỗi bộ lọc trên GPU và canvas hiển thị kết quả.

Các preset là các chuỗi bộ lọc được xác định trước được lưu trong script. "B&W" là grayscale(100%) contrast(105%). "Vintage" có thể là sepia(35%) saturate(75%) contrast(95%) brightness(102%). Chọn một preset viết một trong các chuỗi này vào bộ lọc canvas; các thanh trượt riêng lẻ sau đó được cập nhật để khớp, do đó bạn có thể tinh chỉnh từ đó. "Giữ để so sánh" tạm thời đặt ctx.filter = "none" và vẽ lại hình ảnh gốc, sau đó khôi phục bộ lọc đã chọn khi bạn thả ra.

Bước tải xuống vẽ lại hình ảnh nguồn ở kích thước ban đầu (không phải kích thước xem trước trên màn hình) lên một canvas mới với bộ lọc hiện tại được áp dụng, sau đó canvas.toBlob() xuất kết quả như một PNG, JPEG, hoặc WebP mới. Đầu ra có các hiệu ứng bộ lọc được nướng vào dữ liệu pixel, vì vậy người nhận nhìn thấy cùng diện mạo mà không cần bất kỳ trạng thái nào của công cụ. Không có gì rời khỏi tab trong suốt quá trình này; không có thư viện nào được tải cho việc lọc.

Lịch sử ngắn của các bộ lọc ảnh

Cách các bộ lọc hình ảnh hoạt động

Các bộ lọc hình ảnh sửa đổi các giá trị pixel của một bức ảnh để thay đổi vẻ ngoài của nó. Độ sáng điều chỉnh độ rõ tổng thể, độ tương phản kiểm soát khoảng cách giữa các vùng sáng và tối, và độ bão hòa xác định cường độ của các màu. Xoay sắc thái di chuyển tất cả các màu trên vòng tròn màu, trong khi sepia và mức xám chuyển đổi hình ảnh sang các tông cổ điển. Làm mờ áp dụng làm mịn gaussian, và đảo ngược lật tất cả các màu.

Công cụ này sử dụng engine bộ lọc CSS Canvas native của trình duyệt của bạn, được tăng tốc GPU cho hiệu suất theo thời gian thực. Tất cả xử lý đều cục bộ · các hình ảnh của bạn không bao giờ được gửi đến một server.

Các sử dụng phổ biến

Quy trình làm việc bộ lọc thực tế

Các cạm bẫy phổ biến và ý nghĩa của chúng

Quyền riêng tư: hình ảnh không bao giờ rời khỏi thiết bị của bạn

Mọi dịch vụ bộ lọc ảnh dựa trên đám mây (Pixlr, Fotor, BeFunky, các trang "Instagram-filter" trực tuyến) tải ảnh của bạn lên máy chủ của nhà điều hành, áp dụng bộ lọc trên phần cứng của họ, và trả về hình ảnh đã được lọc dưới dạng tải xuống. Ảnh thường nhúng siêu dữ liệu nhạy cảm ngay cả sau khi lọc: tọa độ GPS nơi ảnh được chụp, thông tin máy ảnh và thiết bị, ngày và giờ chụp, và bản thân nội dung ảnh, thường bao gồm khuôn mặt, vị trí, ảnh chụp màn hình của các giao diện nội bộ, hoặc tài liệu nhận dạng khác. Hầu hết các nhà điều hành công bố các chính sách quyền riêng tư cam kết xóa các tải lên trong vòng một hoặc hai giờ và mã hóa trong quá trình truyền tải, và những nhà điều hành lớn hơn có chứng nhận ISO/IEC 27001. Họ có lý do thương mại mạnh mẽ để tôn trọng các chính sách đó. Nhưng "bị xóa trong một giờ" không phải là "không bao giờ được nhìn thấy." Trong giờ đó, nội dung hình ảnh nằm trong cơ sở hạ tầng của nhà điều hành, có thể truy cập đối với bất kỳ quy trình hoặc người nào có quyền phù hợp, và có thể nhìn thấy trong các bản ghi và bản sao lưu theo chính sách lưu giữ của nhà điều hành.

Công cụ bộ lọc này không bao giờ tải lên bất cứ điều gì. Toàn bộ pipeline (chọn tệp, giải mã thông qua các bộ giải mã tích hợp của trình duyệt, bộ lọc Canvas thông qua GPU, tải xuống tùy chọn thông qua các bộ mã hóa của trình duyệt) chạy bên trong tab trình duyệt của bạn bằng cách sử dụng JavaScript và API CSS Filter Effects được tiêu chuẩn hóa. Không có tải lên, không có yêu cầu mạng nào mang dữ liệu hình ảnh, không có mục nhập bản ghi. Bạn có thể xác minh bằng cách mở các công cụ phát triển của trình duyệt vào tab Mạng trước khi lọc: không có yêu cầu nào được kích hoạt với nội dung hình ảnh. Lưu lượng mạng duy nhất là việc tải trang ban đầu; không có thư viện nào được tải xuống cho thao tác lọc. Chuyển trình duyệt sang chế độ máy bay sau khi trang tải và công cụ bộ lọc tiếp tục hoạt động trên hình ảnh cục bộ.

Khi công cụ khác là lựa chọn phù hợp

Câu hỏi thường gặp

Các bộ lọc có giảm chất lượng của hình ảnh không?

Các bộ lọc được áp dụng ở độ phân giải đầy đủ, vì vậy không có sự mất chất lượng. Khi tải xuống, hình ảnh được xuất ở các kích thước gốc với các bộ lọc được tích hợp. Các xuất JPEG sử dụng 92% chất lượng cho độ trung thực tuyệt vời.

Tôi có thể kết hợp nhiều bộ lọc không?

Có. Tám thanh trượt điều chỉnh hoạt động cùng nhau đồng thời. Bạn cũng có thể bắt đầu từ một cài đặt sẵn sau đó tinh chỉnh một số thanh trượt để có được kết xuất chính xác mong muốn.

«Giữ để so sánh» làm gì?

Khi bạn giữ nút «Giữ để so sánh», bản xem trước tạm thời hiển thị hình ảnh gốc không có bộ lọc. Thả ra để xem lại phiên bản đã lọc. Tiện lợi để so sánh trước/sau nhanh chóng.

Hình ảnh của tôi có được gửi đến đâu đó không?

Không. Tất cả việc xử lý các bộ lọc sử dụng API Canvas tích hợp trong trình duyệt của bạn. Hình ảnh của bạn vẫn hoàn toàn ở trên thiết bị của bạn và không bao giờ được gửi đến một server.

Các câu hỏi thường gặp khác

Tại sao hình ảnh của tôi trông bị posterized ở các cài đặt cực đoan?

Bởi vì toán học hết khoảng trống. Mỗi kênh màu chỉ có 256 giá trị có thể (0 đến 255 trong RGB 8-bit). Đẩy độ sáng hoặc tương phản vượt xa phạm vi gốc cắt ở 0 hoặc 255 thay vì bảo tồn các gradient duyên dáng. Kết quả là banding (các bước có thể nhìn thấy trong những gì nên là các chuyển tiếp mượt mà) và posterization (các vùng sụp đổ thành một màu duy nhất). Giải pháp: kéo lại thanh trượt cực đoan nhất, hoặc bắt đầu từ một nguồn có độ sâu bit cao hơn nếu bạn có (raw hoặc TIFF 16-bit, được chỉnh sửa trong một công cụ máy tính để bàn bảo quản độ sâu bit).

Tôi có thể lưu một preset tùy chỉnh không?

Không trực tiếp trong UI của công cụ này. Nhưng các giá trị thanh trượt tự nó là "preset" của bạn: ghi chú tám số (độ sáng, tương phản, độ bão hòa, sepia, thang xám, xoay tông màu, làm mờ, đảo ngược) và bạn có thể tái tạo diện mạo trong vài giây trên bất kỳ bức ảnh tương lai nào. Đối với quy trình làm việc nhiều ảnh nơi bạn muốn cùng một diện mạo trên một lô, phương pháp thủ công này mở rộng đến khoảng 5-10 ảnh; vượt qua đó, Photoshop, Lightroom, Capture One, hoặc VSCO với các gói preset đã lưu là công cụ phù hợp.

Thứ tự của các bộ lọc có quan trọng không?

Đối với hầu hết các bộ lọc, không: độ sáng rồi tương phản tạo ra đầu ra giống như tương phản rồi độ sáng. Các hàm bộ lọc CSS cho độ sáng, tương phản, saturate, sepia, thang xám, hue-rotate, và invert tất cả đều giao hoán với nhau. Làm mờ là ngoại lệ: làm mờ được áp dụng trước các thay đổi màu ảnh hưởng đến các cạnh gốc; làm mờ được áp dụng sau ảnh hưởng đến các cạnh đã thay đổi màu, và hai đầu ra khác nhau một cách rõ ràng. Trong thực tế, công cụ này áp dụng tất cả các bộ lọc theo một thứ tự cố định, vì vậy câu hỏi chỉ quan trọng nếu bạn đang cố gắng tái tạo hiệu ứng chính xác của một công cụ khác sử dụng thứ tự khác.

Công cụ này có hoạt động ngoại tuyến không?

Có. Engine bộ lọc CSS, API Canvas, và các bộ giải mã/mã hóa cho JPEG, PNG, WebP, GIF, BMP, và AVIF đều được tích hợp vào mọi trình duyệt hiện đại. Không có thư viện bên ngoài nào được tải xuống cho việc lọc. Sau khi trang chính được tải một lần, các lần truy cập tiếp theo hoạt động hoàn toàn ngoại tuyến miễn là trang vẫn còn trong bộ nhớ cache của trình duyệt. Xác minh bằng cách bật chế độ máy bay sau lần truy cập đầu tiên và áp dụng các bộ lọc cho một hình ảnh cục bộ.

Siêu dữ liệu EXIF có được bảo tồn trong hình ảnh đã tải xuống không?

Không. Việc mã hóa lại dựa trên Canvas loại bỏ EXIF (máy ảnh, ống kính, phơi sáng, GPS, ngày chụp), các khối siêu dữ liệu XMP, IPTC, và hồ sơ màu ICC được nhúng. Hình ảnh đã tải xuống chỉ mang dữ liệu pixel. Đối với chia sẻ mạng xã hội, đây thường là điều mong muốn (tọa độ GPS và số sê-ri thiết bị không bị rò rỉ). Đối với các quy trình làm việc lưu trữ hoặc nhiếp ảnh nơi siêu dữ liệu quan trọng, hãy sử dụng một trình chỉnh sửa máy tính để bàn như Photoshop hoặc Lightroom bảo tồn siêu dữ liệu trong suốt quá trình xuất.

Có một sự thay thế desktop hoặc dòng lệnh không?

Một số. Đối với tự động hóa hàng loạt, các toán tử -brightness-contrast, -modulate và liên quan của ImageMagick áp dụng cùng các phép biến đổi từ bất kỳ shell nào. Sharp trong Node.js có một API điều chỉnh hoàn chỉnh. Pillow trong Python cung cấp ImageEnhance.Brightness, ImageEnhance.Contrast, ImageEnhance.Color và các lớp tương tự. Đối với công việc máy tính để bàn tương tác, Photoshop, Lightroom (tiêu chuẩn chuyên nghiệp), Affinity Photo, GIMP, và Pixelmator Pro đều cung cấp các hoạt động giống nhau cộng với mặt nạ lớp cho các chỉnh sửa chọn lọc.

Công cụ liên quan