我正在将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;
}
}
这只是给我一个灰度图像,像素中的黑点不是红色。当您可以清楚地看到红色时,我想要一张图像。
有人可以帮助我解决这个问题吗?
最诚挚的问候