I want to know how to convert an image in
cv::Mat type to
TASImage. I have read the root document but still very fuzzy. The main issue is that being not sure of converting rgb pixel to the
Double_t array. I cannot find any equation or interface (
TColor) to help to do the conversion easily. Look like have to lookup the rgb value in the Palette table (
fPoints) to map to the
Double_t value but it seems over-complicated.
Another option is that convert cvMat to png and save in a
char* buffer, then set that buffer to TASImage. So i try some simple macro as below just to understand the
TASImage img1("cvImg.jpg"); TASImage tImg; char *buf; int sz; img1.GetImageBuffer(&buf, &sz); tImg.SetImageBuffer(&buf);// show error here: libpng error: invalid screen gamma in png_set_gamma tImg.Draw(); // error: Error in <TASImage::Draw>: no image set
The macro throws some error about screen gamma. Do you have any suggestions?
_ROOT Version: 6.20/05