2016-09-10 1 views
0

이미지의 픽셀을 정사각형에서 육각형으로 변환하려면 어떻게해야합니까? 그러면 각 16 진수 픽셀에서 rgb 값을 추출해야합니다. 이 과정을 단순화시키는 라이브러리 나 함수가 있습니까?이미지 픽셀을 정사각형에서 육각형으로 변환

예 : 모나리자 육각 픽셀 시도

enter image description here 아무것도 모양 없습니다. 고마워요

+0

이 아마도 당신이 "... 픽셀을 변환 광장에서 육각형에"무슨 뜻인지 설명하기 위해 도움이 될 것이다. 특히 육각형 픽셀의 배치를 염두에 두십시오. –

+0

@ P.Pearson 정사각형 픽셀 대신 육각형 픽셀로 표현되는 이미지의 RGB 값을 얻고 싶습니다. 16 진수 픽셀을 사용하는 이미지는 정사각형 픽셀 (1 픽셀 예)과 약간 다른 rgb 값을 가지므로 이것이 필요한 것입니다. – smile

+0

우리가 img와 같은 픽셀을 예를 들어 같은 위치에있는 육각형 픽셀을 가진 위치 (1,1)의 제곱 된 픽셀과 비교하면 rgb 값이 서로 달라야합니다. – smile

답변

1

당신이 읽을 수있는 코드를 작성하고 조작하고 아직 발명되지 않은 파일 형식의 픽셀을 사용할 수 있다면 직접 파일을 만들 수 있어야합니다. -)

ImageMagick을 사용하여 육각형 격자를 생성 할 수 있으며 대부분의 Linux 배포판에 설치되어 있으며 OSX 및 Windows에서 사용할 수 있습니다. 여기서는 터미널의 명령 행에서 일을하고 있지만 Python, Perl, PHP, .NET, C/C++ 및 기타 바인딩이 있습니다. 따라서 선택하십시오.

먼저 육각형의 격자를 만들 - 당신이 필요로하는 크기를 해결해야 할 것이다, 광산은 임의 : 이제

convert -size 512x256 pattern:hexagons hexagons.png 

enter image description here

, 다른 각각의 육각형에 기입 색상, 나는 단지 당신에게 아이디어를주기 위해 여기에 홍수 채우기의 몇 가지 예를 들고 있습니다. 이상적으로는, 색상이 #000 인 첫 번째 (왼쪽 위) 육각형과 그 다음 부분을 #001으로 채색하면 출력 이미지의 좌표를 연속 색상으로 반복 할 수 있습니다. 또한 출력 이미지 크기에 따라 헥스 수 (육각형 픽셀)를 수용하기 위해 32 비트 PNG를 사용해야 할 수도 있습니다.

enter image description here

convert hexagons.png       \ 
    -fill red - draw "color 100,100 floodfill" \ 
    -fill blue -draw "color 200,200 floodfill" \ 
    colouredmask.png 

지금을 제외한 모든 색상 을, 모든 색상을 반복 해당 색상 투명.

convert colouredmask.png -fill none +opaque red onecell.png 

enter image description here

은 이제 마스크 원본 이미지를 마스크하고 하나의 셀의 평균 색상을 얻을 : 당신에 유래의 흰색 배경에 컨텍스트를 볼 수 있습니다 만, 그래서 나는 검은 색 테두리를 추가합니다 아직 작성하지 않은 파일 형식으로 작성하십시오. 모든 셀/색상에 대해 반복합니다.

기본 육각형 패턴은 30x18이므로 격자를 적절하게 테셀레이션 할 수 있도록 격자의 크기를 조정해야합니다.

많은 처리가 필요한 경우 GNU 병렬과 같은 것을 사용하여 여러 코어를 활용하는 것이 좋습니다. 당신이 만드는 경우에 따라서, 스크립트 ProcessOneImage라고 당신이 할 수있는 2,000 이미지를 가지고, 당신이 사용하는 것 :

parallel ProcessOneImage ::: *.png 

을하고 계속됩니다, 8은 PC 8 개의 코어가있는 경우 항상 실행중인 작업은 말한다. 더 많은 옵션이 있습니다. man parallel을 사용해보십시오.따라서 당신은 할 수있다, 모든 STAINEDGLASS

2

프레드 당신이 원하는 것을 할 수 있습니다 자신의 사이트에있는 Imagemagick 스크립트를 가지고 혼자서 변환 프로세스를 구현해야합니다.

격자 변환은 재 샘플링 프로세스이며 또한 보간 프로세스입니다. 육각형 이미지 처리 논문에서 개발 된 많은 알고리즘이 있습니다.

당신을 위해 예제를 참조하십시오 : enter image description here enter image description here

+0

멋진 스크립트 - 저는 OP가 육각형으로 처리되는 이미지를 보여주는 정사각형 픽셀의 JPEG/PNG 파일보다는 실제로 육각형 픽셀을 원한다고 생각합니다. 질문은 명확하지 않습니다 .-) –

0

첫째, 당신이 격자 변환을 수행 할 준비가 그런 기능이 없다 생각 :

관련 문제