【darknet源码解析-29】图像RGB2HSV与HSV2RGB格式互转
本系列为darknet源码解析,由于在image.c中涉及到图像的RGB,YUV,HSV格式,在本文我们将image.c中涉及到的rgb_to_hsv()函数以及hsv_to_rgb()函数进行解析. RGB格式转为HSV格式 如果max=0 如果max!=0 对应源码如下: void rgb_to_hsv(image im) { assert(im.c == 3); int i, j; float r, g, b; float h, s, v; for(j = 0; j < im.h; ++j){ for(i = 0; i < im.w; ++i){ r = get_pixel(im, i , j, 0);//获取指定位置指定通道的像素值 g = get_pixel(im, i , j, 1); b = get_pixel(im, i , j, 2); float max = three_way_max(r,g,b);//获取rgb最大值 float min = three_way_min(r,g,b); float delta = max - min; v = max; if(max == 0){ s = 0; h = 0; }else{ s = delta/max; if(r == max){ h = (g - b) / delta; } else if (g == max)