표준 트루 컬러 이미지와 단일 24 비트 RGB 색상 (0에서 255까지의 3 개의 숫자) 을 취하는 프로그램을 작성하십시오 . 평균 색상 이 정확히 입력 된 단일 색상이되도록 입력 이미지를 수정하거나 동일한 크기의 새 이미지를 출력하십시오 . 입력 이미지의 픽셀을 원하는 방식으로 수정할 수 있지만 가능한 한 시각적으로 눈에 띄지 않게 색상을 변경하는 것이 목표입니다 .
RGB 이미지 의 평균 색상 은 실제로 각 색상 채널마다 하나씩 세 개의 산술 수단 세트입니다 . 평균 빨간색 값은 이미지의 모든 픽셀에 대한 빨간색 값의 합계를 총 픽셀 수 (이미지 영역)로 나눈 값을 가장 가까운 정수로 내림합니다. 녹색과 파란색 평균은 같은 방식으로 계산됩니다.
이 Python 2 ( PIL 포함 ) 스크립트는 대부분의 이미지 파일 형식의 평균 색상을 계산할 수 있습니다.
from PIL import Image
print 'Enter image file'
im = Image.open(raw_input()).convert('RGB')
pixels = im.load()
avg = [0, 0, 0]
for x in range(im.size[0]):
for y in range(im.size[1]):
for i in range(3):
avg[i] += pixels[x, y][i]
print 'The average color is', tuple(c // (im.size[0] * im.size[1]) for c in avg)
(이 유사한 평균 색 프로그램은 여기에 있지만 반드시 동일한 계산을하지 않습니다.)
프로그램의 주요 요구 사항에 대한 것입니다 어떤 입력 이미지의 해당 출력의 평균 색이 있어야 정확히 파이썬 조각 또는 일부 해당 코드에 의해 판단으로 - 입력했다 색상을 일치합니다. 출력 이미지는 입력 이미지와 크기가 동일해야합니다.
당신은 기술적으로 프로그램을 제출 수 있도록 단순히 색상 전체 입력 지정된 평균 색 (평균은 항상 그 색을 것이기 때문에), 그러나 이것은이다 인기 투표 - 이길 것이다 가장 많은 표 제출 , 그러한 사소한 제출은 많은 공감대를 얻을 수 없습니다. 휴먼 비전에서 기발한 점을 활용하거나 이미지를 축소하고 그 주위에 색 테두리를 그리는 것과 같은 새로운 아이디어는 (희망스럽게) 투표하게됩니다.
평균 색상과 이미지의 특정 조합은 매우 눈에 띄는 색상 변경이 필요합니다. 경기에 평균 색이 검은 색이라면 예를 들어, (0, 0, 0), 어떤 어떤 픽셀이 아닌 0 값이 있다면, 그들이 (평균 비제도를 만들 것 때문에 입력 이미지가 필요 완전히 검은 만들어 질 반올림 오류 방지). 투표 할 때 이러한 제한 사항을 명심하십시오.
테스트 이미지
일부 이미지와 기본 평균 색상으로 재생할 수 있습니다. 전체 크기를 보려면 클릭하십시오.
A. 평균 (127, 127, 127)
에서 fejesjoco 의 모든 색상과 이미지는 대답 . 그의 블로그 에서 원본 을 찾았 습니다 .
B. 평균 (62, 71, 73)
C. 평균 (115, 112, 111)
D. 평균 (154, 151, 154)
E. 평균 (105, 103, 102)
마운트 샤스타 . 나에 의해 제공.
F. 평균 (75, 91, 110)
노트
- 프로그램에서 사용하는 정확한 입력 및 출력 형식과 이미지 파일 형식은 중요하지 않습니다. 프로그램 사용법을 명확하게 확인하십시오.
- 이미지에 이미 목표 평균 색상이있는 경우 이미지를 그대로 출력하는 것이 좋습니다 (기술적으로 요구 사항은 아님).
- 평균 색상 입력이 (150, 100, 100) 또는 (75, 91, 110) 인 테스트 이미지를 게시하면 유권자들이 다른 솔루션에서 동일한 입력을 볼 수 있습니다. (이보다 더 많은 예제를 게시하는 것도 좋습니다.