【이미지 처리 100개 노크에 도전】Q.20. 히스토그램 표시
사용한 라이브러리
【화상 처리 100개 노크】 독자적인 화상 입출력 클래스를 만든다
Q.20. 히스토그램 표시
matplotlib을 사용하여 imori_dark.jpg의 히스토그램을 표시하십시오.
간단합니다. 주의가 필요한 것은, 여기서 말하는 히스토그램은 R채널의 히스토그램+G채널의 히스토그램+B채널의 히스토그램을 상정하고 있는 것 같습니다.
처음에는 그레이 스케일에 대한 히스토그램이라고 생각했습니다. 정답 출력이 게재되고 있으므로 조금 생각하면 알겠지만, 조금 불친절하게 느꼈습니다. 특히 언급하지 않고 그레이 스케일 이미지가 대상이라고 가정한 문제도 있습니다.
int main()
{
PPM ppm("imori_dark.pnm");
int width = ppm.Get_width();
int height = ppm.Get_height();
int N = 256;
std::vector<int> hist(N);
for (int n = 0; n < N; n++)
{
hist[n] = 0;
}
for(int j=0; j<height; j++)
for (int i = 0; i < width; i++)
{
hist[ppm(i, j, 'r')]++;
hist[ppm(i, j, 'g')]++;
hist[ppm(i, j, 'b')]++;
}
for (int n = 0; n < N; n++)
{
std::cout << n << " " << hist[n] << std::endl;
}
return 0;
}
이것으로 20문 완료입니다!
Reference
이 문제에 관하여(【이미지 처리 100개 노크에 도전】Q.20. 히스토그램 표시), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/jajagacchi/items/23f59d3d5d2e8aab0849
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
matplotlib을 사용하여 imori_dark.jpg의 히스토그램을 표시하십시오.
간단합니다. 주의가 필요한 것은, 여기서 말하는 히스토그램은 R채널의 히스토그램+G채널의 히스토그램+B채널의 히스토그램을 상정하고 있는 것 같습니다.
처음에는 그레이 스케일에 대한 히스토그램이라고 생각했습니다. 정답 출력이 게재되고 있으므로 조금 생각하면 알겠지만, 조금 불친절하게 느꼈습니다. 특히 언급하지 않고 그레이 스케일 이미지가 대상이라고 가정한 문제도 있습니다.
int main()
{
PPM ppm("imori_dark.pnm");
int width = ppm.Get_width();
int height = ppm.Get_height();
int N = 256;
std::vector<int> hist(N);
for (int n = 0; n < N; n++)
{
hist[n] = 0;
}
for(int j=0; j<height; j++)
for (int i = 0; i < width; i++)
{
hist[ppm(i, j, 'r')]++;
hist[ppm(i, j, 'g')]++;
hist[ppm(i, j, 'b')]++;
}
for (int n = 0; n < N; n++)
{
std::cout << n << " " << hist[n] << std::endl;
}
return 0;
}
이것으로 20문 완료입니다!
Reference
이 문제에 관하여(【이미지 처리 100개 노크에 도전】Q.20. 히스토그램 표시), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/jajagacchi/items/23f59d3d5d2e8aab0849텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)