2017-12-26 8 views
0

필자는 Linux Machine에서 내 배경을 단색 만 포함 된 이미지 집합의 임의 이미지로 변경하는 스크립트를 작성했습니다. 내가하고 싶은 것은이 스크립트를 특정 응용 프로그램 (주로 터미널 응용 프로그램)을 주제로 확장하는 것입니다. 텍스트 색상을 변경하거나 어둡거나 밝은 배경으로 전환하는 등 최소한 스크립트를 확장해야합니다. 어떤 옵션이 필요한지 궁금합니다. 이미지의 색상에 대한 16 진 코드를 가져옵니다. 배시에서 뭔가 할 수 있니? 보다 견고한 언어로 프로그램을 작성하고 16 진수 코드를 출력해야합니까? 이 일을 완전히하는 더 좋은 방법이 있습니까? 지금까지 내 검색은 약간 결론이났습니다.스크립트의 단색 이미지에서 16 진수 색상 코드를 얻는 방법은 무엇입니까?

+0

를 내가 제대로 이해한다면, 당신은 입력과 출력으로 (y는 좌표 쌍과 x)의 사진을 촬영하려면 16 진수 값으로 색상? –

+0

예, 그런 식으로, 작동하는 색상 코드를 얻는 더 좋은 방법이 있다면. 내가 말했듯이,이 경우 그들은 단색 이미지입니다. 아마 뭔가 간단하지만 스크립트 나 프로그래밍 언어로 쉽게 사용할 수있는 검색 결과를 얻지 못했고 원하는대로 할 수있는 기존 도구를 찾을 수 없었습니다. –

답변

1

이 작업에는 ImageMagick을 사용하는 것이 좋습니다. documentation에는 이미지에서 데이터를 추출하는 방법이 설명되어 있습니다. "평균 색상 추출"에서

:

이미지의 평균 색상은 하나의 픽셀에 이미지를 줄이기 위해 "-scale"을 사용하여 매우 빠르게 찾을 수 있습니다. 예를 들어 내장 된 "rose :"이미지의 평균 색상을 예로들 수 있습니다. 은 변경없이 IM에서 직접 사용할 수있는 색상 문자열을 반환하는 FX Escape Format을 사용하여 색상을 출력합니다.

[email protected]:~$ convert rose: -scale 1x1\! -format '%[pixel:s]\n' info:- 

윌 출력 : srgb(146,89,80) 귀하의 경우

foo.png처럼, 당신의 이미지 파일로 rose:을 교체합니다. 당신이 진수 표기법으로 직접 출력을 원하는 경우

, 이것을 사용 :

convert rose: -scale 1x1\! -format '%[pixel:s]\n' info:- | awk -F '[(,)]' '{printf("#%x%x%x\n",$2,$3,$4)}' 
+0

감사합니다! 16 진수 값으로 곧바로 출력 할 수있는 방법이 있습니까? 나는 그것이 있음을 확신하지만, 만약 당신이 그것을 알고 있다면 그것은 문서를 검색하는 것보다 더 빠를 것입니다. 만약 내가 그것을 변환하는 방법을 알아낼 수 있습니다. –

+0

죄송합니다, ImageMagick 함께 일할 절대 암캐입니다. 강력하지만 문서가 없으며 여러 단어로 동일한 단어를 사용한다는 사실은 Google을 매우 어렵게 만듭니다. –

+0

@ChristopherLeggett 또한 새로운 질문 [여기] (https://stackoverflow.com/questions/47983587/how-can-imagemagick-output-hex-colours-instead-of-srgb)을 요청하여 시도해 볼 수 있습니다. 함께 해결책. –

관련 문제