Я использую Libraw для проекта, который предназначен для работы с необработанными файлами изображений. Мне нужно реализовать функцию, которая из необработанного файла мне нужно экспортировать изображение только с красными пикселями (и другие 3 изображения для синего, зеленого и зеленого2 пикселей). Я попробовал образец 4-х каналов, но он просто дал мне картинку с черно-серой шкалой. Я попытался изменить код с помощью этого перед экспортом изображения:
for (int c = 0; c < S.iwidth; c++){
for(int r=0;r<S.iheight;r++){
printf("Row:%d Column:%d Color:%d Max Rows:%d Max Col:%d\n",r,c,RawProcessor.COLOR(r,c),S.iheight,S.iwidth);
//check if is a red pixel
if(RawProcessor.COLOR(r,c)!=0){
RawProcessor.imgdata.image[r*c][0] = 20000;
RawProcessor.imgdata.image[r*c][1] = 0;
RawProcessor.imgdata.image[r*c][2] = 0;
RawProcessor.imgdata.image[r*c][3] = 0;
}
}
Это просто дает мне изображение в градациях серого с черными точками в пикселях, которые не являются красными. Я хочу изображение, когда вы можете ясно видеть красный цвет.
Кто-нибудь может мне помочь с этой проблемой?
С наилучшими пожеланиями
Задача ещё не решена.
Других решений пока нет …