Thuật toán tốt để tạo hình ảnh bán sắc (như this) là gì? Một tìm kiếm google nhanh chóng mang đến một loạt các giấy tờ về chủ đề này, nhưng rất khó để đánh giá đó là tốt, hiệu quả, vv Có một sự lựa chọn tốt nhất để làm điều này loại?Thuật toán để tạo hình ảnh bán sắc?
Trả lời
- Lọc xuống độ phân giải muốn "chấm" được phân tách bằng.
- Lấy cường độ trung bình của nhóm pixel trong khu vực đó.
- Vẽ chấm sao cho bề mặt diện tích của dấu chấm bằng phần trăm từ trắng đến đen của cường độ trung bình .
Hãy nghĩ đến các nhóm pixel dưới dạng lưới lục giác. Sử dụng một chức năng vòng tròn để quyết định các điểm ảnh đi vào nhóm. Bạn có thể điều chỉnh chồng chéo của các vòng tròn để điều chỉnh màu đen/độ bão hòa của đầu ra. Điều này thực sự được thiết kế cho đầu ra có độ phân giải cao như in. Nếu bạn đang thực hiện điều này để hiển thị trên màn hình dưới dạng hiệu ứng hình ảnh, hãy đảm bảo bạn sử dụng thường trình vẽ vòng tròn chống răng cưa để bù cho độ phân giải thấp của màn hình. (So với bản in, thậm chí HD không thực sự cao như vậy.)
Nếu bạn làm điều này vì bạn thích hiệu ứng, điều đó thật tuyệt. Nhưng nếu bạn chỉ muốn hoà mình vào một hình ảnh đen trắng, hãy cân nhắc sử dụng hoà sắc "Floyd-Steinberg". Nó cung cấp kết quả chất lượng cao và phân phối lỗi trên hình ảnh. http://en.wikipedia.org/wiki/Floyd-Steinberg_dithering
http://en.wikipedia.org/wiki/Dither – kenny
Chúng có một ví dụ hay về "floyd-stienberg". Nó cho tôi kết quả tốt nhất trong quá khứ. – NoMoreZealots
Thuật toán "vẽ dấu chấm" được nêu ở đây không đạt được hiệu ứng "chấm đen" trên trang web ví dụ được trích dẫn. Nhưng việc xây dựng màn hình và điều chỉnh hình dạng chấm cho hiệu ứng "chấm đen" sẽ nhanh hơn khi chạy. –
Cách dễ nhất để thực hiện việc này là đi pixel theo pixel và sử dụng tính ngẫu nhiên: cho mỗi pixel, xác suất tô màu nó trở lại = bóng tối của màu gốc.
Điều đó có thể cung cấp cho bạn thuật toán phối màu hai dòng. Nó sẽ không đẹp như Floyd-Steinberg (bởi vì nó theo dõi các lỗi), hoặc là nghệ thuật như là "ngói và sau đó đặt đĩa trong mỗi ngói sao cho phần nhỏ của màu đen = bóng tối trung bình trong ngói gốc", nhưng nó hoạt động khá tốt trong thực tế.
Điều này dẫn đến điều gì đó mà mật độ đầu ra tạo ra mức xám đầu vào, nhưng nó không đạt được sự xuất hiện của cụm chấm của ví dụ cụ thể được trích dẫn. –
Halftone có nghĩa là (để trích dẫn wikipedia) "Halftone là kỹ thuật reprographic mô phỏng hình ảnh giai điệu liên tục thông qua việc sử dụng các dấu chấm, thay đổi kích thước hoặc trong khoảng cách." Các mẫu ông cho thấy kích thước khác nhau, tôi thay đổi khoảng cách. Cả hai đều mặc dù có một nửa, mặc dù tôi chắc chắn sẽ không giả vờ rằng tôi trông tốt như ví dụ: như đã nói, giá trị của câu trả lời này là nó cực kỳ đơn giản để thực hiện. – redtuna
thỏ -> là (oops, xin lỗi về lỗi đánh máy! Tôi ước tôi có thể chỉnh sửa ý kiến của mình) – redtuna
Halftoning rất hiệu quả.
Bán sắc một cấp: Nhập: Pixel từ hình ảnh của bạn; trước "màn hình" có chứa các giá trị ngưỡng. Khi chạy: Đối với mỗi kênh màu, đối với mỗi pixel, chọn một giá trị ngưỡng (chỉ mục vào mảng ngưỡng điều chỉnh kích thước mảng). Một so sánh giữa pixel và ngưỡng xác định liệu giá trị đầu ra có bật hay tắt.
Nó cũng tổng quát thành đầu ra đa cấp bằng cách sử dụng nhiều màn hình.
Phần thú vị là xây dựng màn hình (mảng ngưỡng). Có nhiều biến thể - dấu chấm (AM), ngẫu nhiên (FM), nhiều biến thể và giống lai bao gồm tiếng ồn xanh và tiếng ồn xanh (AM/FM). Và bạn thường muốn có một màn hình khác nhau cho mỗi kênh màu. Các màn hình chấm phân cụm truyền thống đặt dấu chấm của chúng trong lưới hình chữ nhật có thể được mô tả bằng tần số của chúng (tần số thấp = dấu chấm lớn) và góc (thường là 15 ° đối với Cyan, 75 ° đối với Magenta, 90 ° đối với Vàng và 45 ° đối với Đen) .
Nếu bạn muốn thử nghiệm, Bitmap của Photoshop với Phương pháp màn hình Halftone (xem tutorial) có trình tạo màn hình nội bộ và sẽ hiển thị hình ảnh thang độ xám thành bitmap giống như ví dụ của bạn.
Các phương pháp phối màu được đề xuất bởi những người khác liên quan đến tính toán nhiều pixel hơn và kết quả đầu ra không giống với ví dụ bán sắc được phân tách theo cụm của bạn.
Ví dụ hoạt hình: http://www.openprocessing.org/visuals/?visualID=911 – biziclop
Có nhiều triển khai mã nguồn mở của thuật toán để tạo hình ảnh bán sắc. Bạn có thể xem mã nguồn. Dưới đây là một vài triển khai được phát triển trong Java sử dụng Marvin Image Processing Framework.
Lỗi Diffusion (source):
Rylanders (source):
Dithering (source):
Circles (source):
- 1. thuật toán để so sánh hình ảnh
- 2. Thuật toán để giảm hình ảnh thành hình chữ nhật?
- 3. Thuật toán để tìm hình vuông trong hình ảnh?
- 4. Thuật toán hình ảnh hóa cây
- 5. Logic/thuật toán màu hình ảnh tốt hơn
- 6. Thuật toán để tạo màu duy nhất
- 7. Thuật toán để so sánh hai hình ảnh
- 8. Thuật toán để tìm hình ảnh tương tự
- 9. Có thuật toán nào để chuyển đổi biểu đồ Hình ảnh thành hình ảnh gốc không?
- 10. Thuật toán phát hiện hình ảnh trùng lặp?
- 11. Thuật toán để phát hiện hướng ảnh
- 12. Thuật toán mạnh mẽ cho bộ chỉnh sắc cụ?
- 13. Thuật toán băm hình ảnh nhanh và đơn giản
- 14. Thuật toán thay đổi kích thước hình ảnh
- 15. Thuật toán chung cho hình ảnh vector rastering
- 16. Tài nguyên cho thuật toán biến dạng hình ảnh
- 17. Thuật toán nào mà Photoshop sử dụng để khử bão hòa một hình ảnh?
- 18. Tên của thuật toán có thể tạo ra hình ảnh này là gì
- 19. Thuật toán để tạo số ngẫu nhiên
- 20. Thuật toán để tạo mảng đa chiều
- 21. Thuật toán mô phỏng/tạo mô hình sét tốt nhất?
- 22. Thuật toán để mô phỏng mù màu?
- 23. Tạo khóa thuật toán RSA
- 24. Thuật toán để phân cụm ảnh dựa trên ngày chụp
- 25. Thuật toán để có bản đồ độ sâu gần đúng từ hình ảnh nổi/trợ giúp
- 26. Làm thế nào để hình ảnh "cho" vòng lặp trong đại diện khối của thuật toán
- 27. Thuật toán để trộn các góc được tô màu trong hình ảnh
- 28. C++ tạo hình ảnh
- 29. Thuật toán tạo âm thanh thủ tục?
- 30. Thuật toán để chỉ vẽ những gì máy ảnh nhìn thấy?
Có một cái gì đó nhiều hơn cho câu hỏi của bạn mà bạn muốn trả lời? Biết thêm chi tiết? – NoMoreZealots