2011-09-13 3 views
1

저는 한 달 동안 cmyk 이미지 (8 비트 tiff)를로드하고 UCA, UCR, GCR 변환을 수행하는 방법을 알아 내려고 노력했습니다.C++ 또는 C#으로 cmyk 이미지를로드하고 모든 픽셀의 cmyk 값을 변경하는 방법은 무엇입니까?

이 변환 공식을 알고 있지만 C++ 또는 C#을 사용하여 cmyk 이미지를로드하는 데 문제가 있습니다.

내 계획은 픽셀 단위로 이미지를 조작하고 해당 픽셀의 모든 값 C, M, Y, K를 변경하고 마지막으로 변경된 이미지를 8 비트 tiff cmyk 이미지로 저장하는 것입니다. 기본적으로 각 픽셀을 살펴보고 cmyk 값을 변경하고 이미지를 저장하려고합니다.

C# 또는 C++ 용 라이브러리를 찾아 설치하는 데 어려움이 있으며 Visual Studio Express 2010을 사용하고 있습니다.

이미지를로드하는 데 사용할 수있는 라이브러리는 무엇입니까?

+0

좋은 질문. CMYK 이미지로 작업하는 대부분의 사람들은 내부적으로 RGB로 변환하여 작업 할 수 있습니다. –

+0

@Tom : 당신은 같은 질문을 여러 번해서는 안됩니다. 예상했던 답변을 얻지 못하면 질문을 수정하여 명확하게 작성해야합니다. _relyvant_ 문맥을 _only_와 함께 사용하면 더 명확하게 이해할 수 있습니다. 귀하의 게시물을 많이 삭제했지만, 도서관에 제공해야 할 내용을 명확히하고 (예 : 지금까지 검색 한 내용을 표시하는 등) 명확하게하기 위해 할 수있는 일이 많습니다. 발견했지만 귀하의 요구 사항에 맞지 않았습니다. – Mat

+0

오, @ 톰, downvotes에 대해 불평하거나 이전 질문을 닫지 마십시오. 아무 도움이되지 않습니다. – Mat

답변

2

을 사용하면 TIFF 파일을 조작 할 수 있습니다. Visual Studio를 사용하여 libtiff 빌드에 대한 this 응답을 참조하십시오.

도서관에서 RGB로 변환하지 않으려면 TIFFReadScanline을 사용하여 행 단위로 이미지를 읽어야합니다. 오픈 소스 tifftopnm 유틸리티가이를 수행합니다. 그것의 소스는 here입니다 - 그것을 얻은 후에 데이터를 RGB로 변환하기 위해 pick_cmyk_pixel을 사용하지만 자연스럽게 대신 자신의 로직을 대체 할 수는 있습니다.

+0

좋습니다, 고맙습니다. – Tom

0

EMGUopencv (C++)의 C# 래퍼이므로 Tiff 파일을 쉽게 사용하고 조작 할 수 있습니다. 그들은 당신이 픽셀에보다 쉽게 ​​접근 할 수있게 해주고 고도로 최적화 된 코드를 사용합니다. 이러한 전용 이미지 처리 라이브러리이기 때문에 그들이, RGB 변환에 대해 걱정할 필요 또는 등

희망 그들이 도움에서 파일을 읽지 않고 당신이 당신의 이미지에 더 많은 작업을 수행 할 수 있도록

건배 것이다 크리스

관련 문제