Change how matlab stores image data for C++
1 次查看(过去 30 天)
显示 更早的评论
Hello everybody i am writing a Program using C++ with OpenCV library! and I am using a function generated by Matlab Mex which takes an image and returns values! it look something like this
array=findsomething(image);//matlab function
the image is a OpenCV variable which called Mat! this Mat stores the pixels in a unsigned char array as BGR. while Matlab function stores the pixels in RGB array. converting the data between the OpenCV variable and the Matlab Function variable means copying each pixel from the first variable Mat into Unsigned Char *array(this is the Matlab function Variable) which takes a really long time for each i call an image from the camera. is there a way to change how Matlab stores and handles the image data to become BGR ? Thank you verymuch!
0 个评论
采纳的回答
Guillaume
2017-1-22
No, you cannot change the order of the colour channels in matlab (don't know about OpenCV). However, if you don't display the image nor convert it to grayscale, the order of the channels doesn't matter for most processing functions.
Converting between RGB and BGR in matlab should be fairly quick:
flip(yourimage, 3)
0 个评论
更多回答(1 个)
Walter Roberson
2017-1-23
No, there is no way to change MATLAB to use a different colorplane order.
0 个评论
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!