Cách phát hiện các màu gần giống nhau. (1 người xem)

  • Thread starter Thread starter k2d_nh0k
  • Ngày gửi Ngày gửi
Liên hệ QC

Người dùng đang xem chủ đề này

k2d_nh0k

Thành viên mới
Tham gia
12/10/15
Bài viết
17
Được thích
3
Chuyện là em có 1 file dữ liệu có tô nhiều màu. Bây giờ em không biết cách nào để tìm được những màu gần giống nhau.
Nhờ anh chị giúp đỡ ạ
Cảm ơn anh chị nhiều.
Em có ví dụ trong file đính kèm.
 

File đính kèm

Quy chuẩn màu gần giống nhau của bạn là như thế nào
 
Cứ dùng VBA đọc màu từng ô vùng dữ liệu là biết ô nào có mã màu gì thôi.
 
Quy chuẩn màu gần giống nhau của bạn là như thế nào
trong file đính kèm em có ví dụ 2 màu xanh gần giống nhau ạ
2 màu xanh giống nhau nhưng có mã màu RGB khác nhau.
Bài đã được tự động gộp:

Cứ dùng VBA đọc màu từng ô vùng dữ liệu là biết ô nào có mã màu gì thôi.
mã màu thì e tìm được. nhưng có điều mã RGB có lệch nhau nhưng màu thì tương tự gần giống nhau nên không phân biệt được.
giống ví dụ 2 màu xanh trong file đính kèm e có gửi ở trên ạ
 
Tôi chỉ gợi ý vậy thôi chứ cũng chịu thua vì không thể định nghĩa màu gần giống nhau.
 
mã màu thì e tìm được. nhưng có điều mã RGB có lệch nhau nhưng màu thì tương tự gần giống nhau nên không phân biệt được.
giống ví dụ 2 màu xanh trong file đính kèm e có gửi ở trên ạ
Cũng như anh chị ở comment dưới nói. Bạn phải biết được việc màu gần giống nhau là như thế nào thì mới biết được
 
Cũng như anh chị ở comment dưới nói. Bạn phải biết được việc màu gần giống nhau là như thế nào thì mới biết được
vậy là không có cách nào rồi. nhìn trực quang thì thấy màu xanh và xanh lợt hơn chứ không có cơ sở gì để phân biệt chúng gần giống nhau rồi. Do dữ liệu e có nhiều dòng nên việc tìm màu gần giống này coi bộ khó ăn.
 
Định hướng cho bạn trả lời các câu trên nè.
Hệ màu bạn đang dùng là RBG. Các chỉ số R, B, G này chạy từ 0-255 tổ hợp ra tất cả các màu.
Bạn xem thử nếu độ sai lệch (ví dụ nhỏ 10 đơn vị) giữa 2 màu cần so sánh thì gọi là gần nhau. Thỏa mãn cùng lúc
Abs(R1 - R2) <10; Abs(B1 - B2) <10; Abs(G1 - G2) <10;
chú thích : R1, ... , G2 tương ứng là giá trị R, B, G của màu 1 và màu 2.
 
Định hướng cho bạn trả lời các câu trên nè.
Hệ màu bạn đang dùng là RBG. Các chỉ số R, B, G này chạy từ 0-255 tổ hợp ra tất cả các màu.
Bạn xem thử nếu độ sai lệch (ví dụ nhỏ 10 đơn vị) giữa 2 màu cần so sánh thì gọi là gần nhau. Thỏa mãn cùng lúc
Abs(R1 - R2) <10; Abs(B1 - B2) <10; Abs(G1 - G2) <10;
chú thích : R1, ... , G2 tương ứng là giá trị R, B, G của màu 1 và màu 2.
mình đã thử ví dụ màu1 =10 10 10 màu2=30 30 30 nhưng 2 màu này nhìn y như nhau lệch màu không nhiều, mình chưa tìm ra được cái giá trị để thấy rỏ độ lệch màu.
 
"gần giống nhau" chỉ là ý niệm tương đối.
1. Do từng cá nhân: Phân biệt màu xanh và đỏ là chuyện quá dễ đói với người thường. Nhưng đối với người mù màu, đó là một chuyện rất khó.
2. Do phần cứng: Màn hình chỉ cần chỉnh một chút xíu có thể cho ra màu khác.
3. Do hiện tượng tán quang của các màu không hợp tầng số: Xếp màu nghịch tầng số với nhau ở gần nhau có thể gây cho một số người nhìn ra thành màu khác.
 
mình đã thử ví dụ màu1 =10 10 10 màu2=30 30 30 nhưng 2 màu này nhìn y như nhau lệch màu không nhiều, mình chưa tìm ra được cái giá trị để thấy rỏ độ lệch màu.
Con số 10 là võ đoán của mình thôi. Bạn xem thử, rồi lựa chọn cho phù hợp vì (số màu mà bạn dùng so sánh nó cũng sẽ hữu hạn thôi chỉ so sánh tương đối chứ kg phải kiểu như máy móc).
 

File đính kèm

Lần chỉnh sửa cuối:
Con số 10 là võ đoán của mình thôi. Bạn xem thử, rồi lựa chọn cho phù hợp vì (số màu mà bạn dùng so sánh nó cũng sẽ hữu hạn thôi chỉ so sánh tương đối chứ kg phải kiểu như máy móc).
cảm ơn bạn đã giúp. để mình tìm cách phát triển theo ý tưởng của bạn xem sao.
 
cảm ơn bạn đã giúp. để mình tìm cách phát triển theo ý tưởng của bạn xem sao.
Dùng hệ màu HSL như bạn Ngô Hải Đăng đã nói ở trên là đơn giản nhất đó. Còn thủ công thì cứ mở Color Wheel của Adobe lên mà chọn màu Analogous :).
 
Phải đổi hệ màu RGB sang HSL mới được.
mình không biết sử dụng màu hsl như thế nào, để mình tìm hiểu, nếu được bạn có thể hướng dẫn giúp mình với.
Bài đã được tự động gộp:

Dùng hệ màu HSL như bạn Ngô Hải Đăng đã nói ở trên là đơn giản nhất đó. Còn thủ công thì cứ mở Color Wheel của Adobe lên mà chọn màu Analogous :).
mình chưa sử dụng hệ màu hsl bao giờ. :(
 
Sau khi tham khảo gợi ý bài #12 và bài #14 và mò google để gom góp chế cháo lại
đại loại mình sẽ lấy ColorIndex => chuyển về trị số R G B trong RGB=> chuyển về trị số H trong HSL => so sánh ABS của chỉ số H giữa 2 ô với 5
Ở đây mình để độ lệch H theo hệ HSL giữa 2 ô có màu so sánh là 5 tuy nhiên bạn có thể test và tùy biến tùy theo nhu cầu của bạn nhé
1654244376199.png
 

File đính kèm

Web KT

Bài viết mới nhất

Back
Top Bottom