문제

나는 변환해야 하는 PNG 이미지에서 로드된 파일에 있는 8 비트는 픽셀당 바이트 배열을 사용하여 다른 장치(프로그래밍 임베디드).

나는 복사를 통해 픽셀 단위로 새로운 이미지로 만든 16 비트 컬러 Format16bppRgb565, 하지만 필요해요 Format8bpp, 는 존재하지 않습니다.NET Framework.(나는 사용할 수 없습니다 Format8bppIndexed 이후 다른 장치를 처리할 수 없는 인덱스트맵)

 Bitmap img = new Bitmap(imgPath);
 Bitmap img8 = new Bitmap(imgW, imgH, PixelFormat.Format16bppRgb565);
 for (int I = 0; I <= img.Width - 1; I++) {
     for (int J = 0; J <= img.Height - 1; J++) {
         img8.SetPixel(I, J, img.GetPixel(I, J));
     }
 }

그래서 나는 어떻게 변환하는 이미지로 8 비트는 픽셀당 바이트 배열?

  • 사용할 수 있는 8 비트의 색인 형식으로 추출하는 바이트?- Format8bppIndexed
  • 계산할 수 있습니 픽셀의 색깔을 줄이는 32 비트 컬러의 R,G,B 값으로 8-bit?
  • 이 있 C#라이브러리는 이것을 이미?
  • "가장 쉬운 방법은 새로 만들이 8 비트 비트맵을 그리는 24 비트 이미지에습니다." -어떻게?
도움이 되었습니까?

해결책

하지만 나는 확실하지 않으로 그렇게 하는 방법을 바닐라 C#사용할 수 있습니다 프로젝트를 효율적으로 그립 라이브러리에 변환의 이미지 형식

효율적으로 그립니다 오픈 소스 라이브러리 프로젝트 개발자자 을 지원하는 인기있는 그래픽 이미지 형식 PNG,BMP,JPEG,TIFF 고 으로 다른 사람에 의해 필요한 오늘날의 멀티미디어 응용 프로그램.효율적으로 그립하기 쉽 사용중 안전 와 호환되는 모두 32-bit 버전 윈도우,그리고 크로스-플랫폼(품 모두 Linux,Mac OS X)

그것의 서면에서는 C++지만 좋습니다.NET 포장지 사용하실 수 있습니다.

다른 팁

나는 이미 그것을 하나의 패턴 인식 프로젝트입니다.중 일부 이미지 처리 및 패턴 인식은 책을 찾을 수 있습니다 이러한 솔루션이 있습니다.

a) 로 변환하려는 경우 그레이 스케일에서 찾을 수 있습니다 일반적인 두 가지 솔루션입니다.

#1 평균 RGB channels.-취할 수 있는 8 비트 값에 대한 avery 싱글 채널을 계산 픽셀=(R+G+B)/3

#2 을 만의 녹색 구성 요소입니다.그것은 최고의 전망된다.

b) 당신이 원하는 경우로 변환하는 8 비트 컬러 표현을 사용할 필요가 있습니다.당신이 볼 수 있는 솔루션을기 http://www.codeproject.com/KB/graphics/Image_Bitdepth_Conversion.aspx

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top