! * \brief pixcmapConvertRGBToHSV() * * \param[in] cmap colormap * \return 0 if OK; 1 on error * * * Notes: * ~ in-place transform * ~ See convertRGBToHSV() for def'n of HSV space. * ~ replaces: r --> h, g --> s, b --> v * */
| 421 | * </pre> |
| 422 | */ |
| 423 | l_int32 |
| 424 | pixcmapConvertRGBToHSV(PIXCMAP *cmap) |
| 425 | { |
| 426 | l_int32 i, ncolors, rval, gval, bval, hval, sval, vval; |
| 427 | |
| 428 | PROCNAME("pixcmapConvertRGBToHSV"); |
| 429 | |
| 430 | if (!cmap) |
| 431 | return ERROR_INT("cmap not defined", procName, 1); |
| 432 | |
| 433 | ncolors = pixcmapGetCount(cmap); |
| 434 | for (i = 0; i < ncolors; i++) { |
| 435 | pixcmapGetColor(cmap, i, &rval, &gval, &bval); |
| 436 | convertRGBToHSV(rval, gval, bval, &hval, &sval, &vval); |
| 437 | pixcmapResetColor(cmap, i, hval, sval, vval); |
| 438 | } |
| 439 | return 0; |
| 440 | } |
| 441 | |
| 442 | |
| 443 | /*! |
no test coverage detected