ColorDetection - Python ColorDetect 패키지
그래서 우리는 ColorDetect . 이미지에서 바로 해당 색상을 잡을 수 있도록 하거나 약간 미쳤다면 비디오. 개요를 보려면 설치부터 시작하겠습니다.
모든 Pythonista가 가지고 있듯이 가상 환경을 만들고 설치하십시오.
pip install ColorDetect
이 데모에서는 Greyson Joralemon의 사진을 빌릴 것입니다.
이 특정 이미지의 색상을 가져오는 프로그램입니다.
from colordetect import ColorDetect
user_image = ColorDetect('media/random_balls.jpg')
colors = user_image.get_color_count()
print(colors)
ColorDetect가 작업을 수행하고 다음을 반환합니다.
$ python get_colors.py
{'[59.0, 70.0, 198.0]': 7.63, '[245.0, 155.0, 186.0]': 9.0, '[232.0, 22.0, 103.0]': 11.98, '[207.0, 143.0, 3.0]': 35.54, '[88.0, 70.0, 34.0]': 35.85}
관련 가장 풍부한 색상을 분해하여 이미지에 대한 색상 설명입니다. 이 이미지는
7.63 %
이 RGB 색상이 차지합니다: '[59.0, 70.0, 198.0]'
.대신 이것에 대한 16진수를 원하면
get_color_count()
에 매개변수로 전달합니다.colors = user_image.get_color_count(color_format='hex')
#colors
# {'#3b46c6': 7.63, '#f59bba': 9.0, '#e81667': 11.99, '#cf8f03': 35.56, '#584622': 35.83}
물론 우리는 가장 지배적인 5가지 색상보다 더 많은 색상을 찾을 수 있습니다.
user_image.get_color_count(color_format='hex', color_count=8)
이미지의 크기나 비율에 따라 다소 시간이 걸릴 수 있습니다. 예를 들어, 낮은 그래픽 이미지, 예를 들어 2MP 대 고화질 최고 카메라 이미지입니다. 이 두 이미지는 동일한 물체나 장면을 가리키고 있음에도 불구하고 픽셀 비율이 매우 다릅니다.
계속해서 색상을 변수로 가져오는 대신 이 색상을 이미지에 씁니다.
user_image.write_color_count()
# save the image after writing the color count to it
user_image.save_image('media', 'processed.jpg')
이 이미지를 이름
processed.jpg
으로 미디어 디렉토리에 저장합니다.완벽!
우리는 비디오를 가진 미친 사람들에 대해 무언가를 가지고 있었습니다, 그렇죠?
자, 그 비디오는 어디에...오, here it is . 우리의 earth.mp4 파일.
from colordetect import VideoColor
my_video = VideoColor('media/earth.mp4')
video_colors = my_video.get_video_frames( progress=True)
print(f"{video_colors}")
{'[137.0, 165.0, 182.0]': 0.92, '[71.0, 84.0, 95.0]': 2.16, '[24.0, 30.0, 50.0]': 11.17, '[7.0, 10.0, 26.0]': 17.59, '[0.0, 0.0, 0.0]': 68.83, '[143.0, 170.0, 187.0]': 0.84, '[76.0, 89.0, 101.0]': 2.09, '[26.0, 32.0, 52.0]': 11.18, '[8.0, 11.0, 28.0]': 16.69, '[135.0, 163.0, 181.0]': 0.95, '[76.0, 88.0, 98.0]': 2.05, '[8.0, 11.0, 27.0]': 15.43, '[127.0, 160.0, 179.0]': 0.94, '[71.0, 83.0, 94.0]': 2.38, '[7.0, 11.0, 27.0]': 15.72, '[124.0, 160.0, 181.0]': 0.9, '[69.0, 84.0, 96.0]': 2.26, '[26.0, 32.0, 53.0]': 13.12, '[125.0, 160.0, 182.0]': 0.89, '[68.0, 82.0, 95.0]': 2.27, '[132.0, 166.0, 186.0]': 0.79, '[71.0, 87.0, 100.0]': 2.1, '[25.0, 32.0, 52.0]': 14.18, '[132.0, 164.0, 183.0]': 0.89, '[70.0, 85.0, 97.0]': 2.08, '[132.0, 165.0, 183.0]': 0.9, '[73.0, 88.0, 99.0]': 2.06, '[26.0, 33.0, 53.0]': 12.11, '[8.0, 10.0, 27.0]': 16.76, '[134.0, 166.0, 184.0]': 0.88, '[132.0, 165.0, 185.0]': 0.86, '[74.0, 88.0, 100.0]': 2.0, '[26.0, 33.0, 52.0]': 10.65, '[7.0, 10.0, 27.0]': 16.93, '[124.0, 157.0, 178.0]': 0.99, '[68.0, 82.0, 93.0]': 2.14, '[25.0, 31.0, 50.0]': 10.66, '[124.0, 160.0, 182.0]': 0.88, '[67.0, 82.0, 94.0]': 2.19, '[25.0, 31.0, 49.0]': 10.68, '[124.0, 160.0, 183.0]': 0.85, '[67.0, 83.0, 95.0]': 2.0, '[25.0, 30.0, 49.0]': 11.04, '[123.0, 160.0, 182.0]': 0.87, '[24.0, 29.0, 47.0]': 11.15, '[23.0, 29.0, 47.0]': 10.6, '[6.0, 9.0, 26.0]': 19.34, '[67.0, 83.0, 97.0]': 2.0, '[24.0, 29.0, 48.0]': 9.31, '[125.0, 161.0, 184.0]': 0.85, '[67.0, 84.0, 97.0]': 1.98, '[127.0, 162.0, 183.0]': 0.87, '[67.0, 83.0, 96.0]': 1.96, '[23.0, 29.0, 46.0]': 8.58, '[5.0, 8.0, 25.0]': 17.77, '[125.0, 161.0, 183.0]': 0.88, '[68.0, 84.0, 98.0]': 1.9, '[24.0, 29.0, 46.0]': 6.95, '[67.0, 84.0, 99.0]': 1.89, '[133.0, 166.0, 186.0]': 0.81, '[67.0, 86.0, 99.0]': 1.85, '[23.0, 28.0, 45.0]': 6.83, '[5.0, 8.0, 24.0]': 22.22, '[135.0, 165.0, 186.0]': 0.85, '[69.0, 86.0, 100.0]': 1.79, '[22.0, 27.0, 43.0]': 7.22, '[5.0, 7.0, 24.0]': 22.48, '[73.0, 91.0, 105.0]': 1.69, '[129.0, 163.0, 185.0]': 0.85, '[69.0, 85.0, 98.0]': 1.9, '[21.0, 27.0, 44.0]': 7.25, '[4.0, 7.0, 24.0]': 21.7, '[68.0, 86.0, 101.0]': 1.9, '[22.0, 27.0, 45.0]': 7.91, '[126.0, 160.0, 181.0]': 0.94, '[66.0, 83.0, 96.0]': 1.91, '[22.0, 27.0, 46.0]': 9.19, '[129.0, 164.0, 185.0]': 0.84, '[69.0, 86.0, 99.0]': 1.96, '[21.0, 27.0, 46.0]': 10.65, '[133.0, 165.0, 185.0]': 0.85, '[23.0, 29.0, 48.0]': 10.61, '[7.0, 9.0, 26.0]': 17.7, '[135.0, 165.0, 185.0]': 0.85, '[73.0, 88.0, 100.0]': 1.96, '[24.0, 29.0, 50.0]': 11.34, '[139.0, 164.0, 177.0]': 0.92}
사용 사례에 비해 색상이 너무 많다는 것을 알 수 있습니다. 그래서 이것을 짧게 해봅시다:
print(my_video.color_sort(color_count=6))
{'[0.0, 0.0, 0.0]': 68.83, '[5.0, 7.0, 24.0]': 22.48, '[5.0, 8.0, 24.0]': 22.22, '[4.0, 7.0, 24.0]': 21.7, '[6.0, 9.0, 26.0]': 19.34, '[5.0, 8.0, 25.0]': 17.77}
이렇게 하면 전체 비디오에서 매 초마다 프레임을 가져오는 상위 6개의 가장 지배적인 색상이 반환됩니다. 훨씬 좋아 보인다! 모든 색상을 사용하고 싶지 않다면 말입니다.
이에 대해 반복하겠습니다. 이것은 모두 입력 미디어 파일의 품질과 이 경우 비디오인 경우 길이에 따라 다릅니다. 5분 길이의 비디오로 모든 종류의 크레용에서 다양한 색상을 보여줍니다. 프로세스는 매초마다 프레임 단위로 진행된다는 점을 기억하십시오. 이 문제는 나중에 해결될 것이라고 확신합니다release.
여기서 잠시 멈추고 증기를 식힐 수 있습니다.
더 많은 기능과 성능 향상이 밝혀지면 package을 최신 상태로 유지하십시오.
당신 것,
TheGreencodes
Reference
이 문제에 관하여(ColorDetection - Python ColorDetect 패키지), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/marvinkweyu/colordetection-python-colordetect-package-12li텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)