2011-01-06 38 views

Trả lời

3

Trông với tôi như

if (B>R) { 
    color=cool 
} else { 
    color=warm 
} 

là một xấp xỉ khá tốt. Bạn có thể kiểm tra điều này trên bánh xe màu của mình bằng cách sử dụng: http://www.colorzilla.com/firefox/

+1

Có lẽ một xấp xỉ tốt, nhưng bạn sẽ cần phải xác định giá trị màu xanh lá cây ở đó ở đâu đó nếu bạn muốn xác định điều này với bất kỳ độ chính xác nào ... Ví dụ, (50, 200, 0) tạo ra màu xanh trung bình đẹp có lẽ sẽ được coi là một màu "mát mẻ". –

+0

Tôi không cảm thấy hoàn toàn thoải mái khi bỏ qua màu xanh lá cây, nhưng dường như với tôi rằng các phân loại như 'ấm áp' và 'mát' đủ chủ quan để 'xác định với độ chính xác' có thể quá kỹ thuật một chút ... tôi đoán nó phụ thuộc vào yêu cầu. –

+0

Bạn hoàn toàn đúng về chủ quan. Văn hóa, thông qua ngôn ngữ, xác định những gì mọi người nhận thức là màu sắc khác nhau và các biến thể cùng màu. Ví dụ: một số ngôn ngữ sử dụng cùng một từ cho màu xanh lá cây và xanh dương, và thậm chí cả cùng một từ cho màu xanh và đen (ví dụ: http://en.wikipedia.org/wiki/Distinguishing_blue_from_green_in_language). Nhưng có hay không người thực sự * thấy * khác nhau hoặc cùng màu sắc là một vấn đề khác (ví dụ: http://en.wikipedia.org/wiki/Linguistic_relativity_and_the_color_naming_debate). –

41

Lấy hình ảnh bạn đã liên kết làm tham chiếu về "ấm" và "lạnh", chúng tôi nhận được những điều sau đây.

Colour wheel

  • Màu nóng là hoàn toàn màu đỏ (R = 255, G = 0, B = 0).
  • Màu lạnh nhất là màu xanh hoàn toàn (R = 0, G = 0, B = 255).

Vì vậy, bạn càng có nhiều màu sắc, màu càng ấm và càng có nhiều màu B, màu càng mát. G sẽ đưa bạn qua các sắc thái của màu ngọc lam, xanh lục và vàng, mỗi màu càng ngày càng ấm hơn. Khi G bằng không, bạn di chuyển trong đường chéo bên trái dưới của vòng tròn khi R và B thay đổi. Khi G tiến tới 255, bạn băng qua đường chéo bên phải phía trên khi R và B thay đổi.

Tuy nhiên, màu sắc ấm áp và mát mẻ liền kề có lượng màu xanh lá cây khác nhau trong đó. Màu đỏ ngay bên dưới đường chéo có màu xanh lá cây ít hơn màu đỏ ngay phía trên nó. Màu xanh ngay bên dưới đường chéo có màu xanh lá cây ít hơn màu xanh ngay phía trên nó. Bánh xe màu này trông giống như nó không đại diện cho không gian RGB tất cả những gì đặc biệt là ở đầu màu xanh của quang phổ.

Cuối cùng, những gì bạn cảm nhận là ấm và lạnh tùy thuộc vào cài đặt màn hình và điều kiện ánh sáng của bạn. Rất nhiều nó cũng là nhận thức và nhận thức của bạn - những gì bạn nghĩ là ấm hoặc lạnh. Trong một hình ảnh, màu sắc tương phản sẽ ảnh hưởng đến sự phán xét của bạn. Màu "ở giữa" bên cạnh màu sắc rõ ràng sẽ trông ấm, nhưng nếu cùng một màu sắc bên cạnh một màu ấm rõ ràng, nó sẽ trông rất tuyệt. Hãy nhìn vào bánh xe màu này:

colourwheel

Ở đây, mỗi 24-bit màu duy nhất được hiển thị (8 bit cho mỗi người trong số R, G và B), và các giá trị RGB cho phía trên, bên phải , màu dưới cùng và màu trái được hiển thị. Để mắt của tôi, có nhiều màu "mát mẻ" hơn "ấm". Hy vọng điều này sẽ giúp bạn quyết định giá trị RGB là gì cho những gì bạn nhận thấy là màu sắc mát mẻ và ấm áp.

Phần thưởng: Trong hình trên, bạn cũng có thể thấy các màu được thể hiện bằng màu sắc, độ bão hòa và giá trị màu (HSV). Hue về cơ bản mã hóa màu sắc. Độ bão hòa mã hóa như thế nào "đầy đủ" màu sắc là - ít bão hòa làm cho nó nhiều "ảm đạm", tức là. trắng. Giá trị mã hóa tối như thế nào - ít giá trị làm cho nó có màu đen hơn, và cũng làm cho màu trắng của độ bão hòa màu xám hơn. Hue đi từ 0 đến 360 và tương ứng với góc của một vòng tròn, với 0 là hoàn toàn màu đỏ, 90 là một loại neon màu xanh lá cây, 180 là màu xanh tươi sáng, 270 là màu xanh tím, và 360 trở lại màu đỏ một lần nữa. S và V đi từ 0 đến 100 và sẽ ảnh hưởng đến bóng chính xác - những ví dụ này là với S = V = 100.

Để mắt của tôi, giá trị H trong phạm vi 0-80 và 330-360 là ấm trong khi H> 80 và H < 330 là lạnh (xấp xỉ).

Bạn có thể muốn mở bộ chọn màu trong chương trình sơn yêu thích của mình.Chúng thường có thể hiển thị HSV và RGB cạnh nhau và cho phép bạn chơi với bánh xe màu và xem các hiệu ứng trên số HSV và RGB. Nếu bạn chưa có, tôi sẽ đề xuất GIMP. Nó có bánh xe màu tôi đã sử dụng để lấy số cho câu trả lời này.

Phần thưởng 2: Tất cả những điều trên đều giả định đánh giá chủ quan về điều gì là ấm áp và điều gì là tuyệt vời. Tôi nghĩ cách duy nhất để đo nhiệt độ màu là đo lường và thể hiện nó trên thang đo nhiệt độ. Thường thì Kelvin dường như được sử dụng. Phương pháp này tính đến không chỉ bóng của màu sắc, mà còn là độ sáng (hoặc ánh sáng phát ra). Nếu bạn có một màn hình hiện đại, nó có thể có một thiết lập nhiệt độ với một số giá trị Kelvin để lựa chọn. Có thể tính toán nhiệt độ của mỗi màu RGB trên màn hình của bạn, miễn là bạn biết nhiệt độ của màu trắng của bạn (cân bằng trắng). Tuy nhiên, tính toán này rất phức tạp và tôi không biết cách thực hiện. Bạn có thể tìm thấy Bruce Lindbloom một nguồn tốt để biết thêm thông tin hoặc bất kỳ cuốn sách nào về khoa học màu sắc. Nhưng tôi đoán đây là nhiều hơn bạn bargained cho với câu hỏi của bạn ... ;-)

+1

+1 Một câu trả lời tuyệt vời cho một câu hỏi đầy thử thách. –

+1

Tôi chỉ đơn giản là nói: chuyển đổi sang HSV/HSL và sau đó chỉ cần xác định độ ấm dựa trên H. Không cần phải suy nghĩ xung quanh với những gì cần làm với màu xanh lá cây :-) – user562374

+0

@ user562374: Tôi hoàn toàn đồng ý và đã đăng câu trả lời đó (hoàn thành với mã chuyển đổi mẫu), ngoại trừ câu hỏi đó gọi một cách rõ ràng một giải pháp không gian màu RGB. –

1

đã trả lời nhưng cần phải thêm này:

Nếu bạn quan tâm đến nhiệt độ và màu sắc phụ thuộc vật lý thì đây là quy mô bạn đang tìm kiếm:

Black body Temperature color

Đó là màu sắc của ánh sáng phát ra từ vật đen của nhiệt độ cho trước. Trong thiên văn học, điều này được sử dụng để phân loại màu sắc sao (như BV color index).

Nó cũng có thể được sử dụng để đo nhiệt độ gián tiếp.