Co giãn theo nội dung: đổi tỉ lệ mà người trong ảnh không bị bẹp
Biến ảnh ngang thành ảnh dọc, 16:9 thành 4:3, mà không làm bẹp người trong ảnh.
Cái phiền lúc nào cũng thế: một tấm 16:9 phải vừa một chỗ 4:3. Cắt hai bên thì mất nội dung; kéo giãn thì người béo ra và hình tròn thành bầu dục — mà cả hai đều lộ ngay từ cái nhìn đầu tiên.
Nó làm thế nào. Thuật toán gán cho mỗi điểm ảnh một «năng lượng» (độ dốc của nó — cao ở đường viền, thấp trên bề mặt phẳng), tìm chuỗi điểm ảnh từ trên xuống dưới có tổng năng lượng nhỏ nhất, rồi xoá nguyên chuỗi ấy. Lặp lại, thứ biến mất là trời, tường và cỏ — những chỗ không mang thông tin — còn khuôn mặt, chữ và cạnh các toà nhà thì gần như không suy suyển. Kỹ thuật này gọi là seam carving.
Tính năng chính
Chủ thể giữ nguyên hình, nền mới là thứ nhường chỗ
Thứ bị xoá là chuỗi có năng lượng thấp nhất, nên khi hẹp lại thì nền trống đi trước. Những vùng độ dốc cao như mặt người và chữ được thuật toán chủ động tránh.
Cũng nới rộng ra được
Chèn đường nối thay vì xoá sẽ làm ảnh rộng ra: điểm ảnh được thêm vào chỗ phẳng nhất, chứ không phải kéo giãn cả tấm. Tiện khi muốn biến ảnh dọc thành một dải băng ngang.
Chạy bằng nút bấm, không chạy theo thanh trượt
Thuật toán quét cả tấm ảnh một lượt cho mỗi đường nối — đo được 6 giây với ảnh 1920×1080 ở mức −10%. Vì vậy, khác các công cụ kia, nó không tính lại trong lúc bạn kéo. Hãy đặt chiều rộng và chiều cao trước, rồi bấm «Chạy».
Ảnh không bị tải lên
Toàn bộ phép tính kết thúc trong trình duyệt của bạn; không một yêu cầu nào mang dữ liệu ảnh đi. Hãy mở bảng mạng trong công cụ dành cho nhà phát triển và tự kiểm chứng.
Cách sử dụng
- 1 Kéo ảnh của bạn vàoNhận JPG, PNG và WebP, và Ctrl+V dán từ khay nhớ tạm.
- 2 Đặt chiều rộng và chiều caoCả hai thanh trượt đều theo phần trăm, từ 50% đến 150%. Chỉ đổi một cái cũng được; cái kia để nguyên 100%.
- 3 Bấm «Chạy»Trong lúc làm việc trang sẽ báo cho bạn. Ảnh càng lớn và thay đổi càng nhiều thì càng phải chờ lâu — đó là cái giá của chính thuật toán.
- 4 So hai bên rồi tải vềẢnh gốc bên trái, kết quả bên phải, đặt cạnh nhau. Chưa ưng? Đổi một con số rồi bấm lại.
Câu hỏi thường gặp
- Khác gì so với kéo giãn hay cắt xén thông thường?
- Kéo giãn đụng vào từng điểm ảnh: người béo ra, hình tròn thành bầu dục, ai nhìn cũng thấy. Cắt xén vứt đi cả dải nội dung, mất cả bố cục lẫn thông tin. Co giãn theo nội dung không làm cả hai — nó chỉ bỏ những chuỗi điểm ảnh mang ít thông tin nhất, nên tỉ lệ của chủ thể vẫn đúng và những thứ ở rìa vẫn còn đó.
- Vì sao phải bấm nút trong khi mọi công cụ khác đều tức thì?
- Vì cái này đắt hơn hẳn. Các phép khác chỉ quét ảnh một hai lượt (mili giây), còn seam carving tính lại bản đồ năng lượng và chạy quy hoạch động cho từng đường nối một. Đo được: 0,8 giây với 600×800 ở −20%, và 6 giây với 1920×1080 ở −10%. Nếu chạy theo thanh trượt, trang sẽ đơ vài giây mỗi lần bạn thả tay — mà trên màn hình chẳng có gì báo rằng nó đang tính. Nên thời điểm chạy để bạn quyết.
- Vì sao ảnh lớn thì viền hơi mềm?
- Vì mọi ảnh lớn hơn 900 điểm ảnh đều được thu về cạnh dài 900 điểm ảnh trước khi tính đường nối, rồi mới đưa lại kích thước bạn yêu cầu. Không có bước đó thì một tấm ảnh chụp bằng điện thoại sẽ mất hàng chục giây. Đây là một sự đánh đổi thật giữa tốc độ và độ sắc, viết ra ở đây thay vì để bạn tự phát hiện. Ảnh dưới 900 điểm ảnh bỏ qua bước này và được khắc ở độ phân giải gốc.
- Nó làm không tốt với loại ảnh nào?
- Với ảnh kín đặc — ảnh tập thể, chữ xếp dày, mặt tiền toà nhà đều đặn. Seam carving cần những vùng năng lượng thấp chịu nhường chỗ, mà những ảnh như thế gần như không có, nên thuật toán buộc phải đụng vào phần đáng lẽ phải giữ, và các đường nét bị cong. Với chúng, cắt xén thông thường an toàn hơn.
Dùng thử Co giãn theo nội dung: đổi tỉ lệ mà người trong ảnh không bị bẹp ngay
Chạy hoàn toàn trong trình duyệt · không cài đặt · không đăng ký · ảnh không bao giờ được tải lên