虽然我一直在使用带有QT的OpenCV,但我已经看到了这个警告,我不知道它是什么新的转换样式。有人知道我可以申请吗?
Mat normalImage;
normalImage = imread("E:\\tree.jpg", IMREAD_COLOR );
cvtColor(normalImage, normalImage, COLOR_BGR2RGB);
QImage imdisplay((uchar*)normalImage.data, normalImage.cols,
normalImage.rows, normalImage.step, QImage::Format_RGB888);
ui->imageLabel1->setPixmap(QPixmap::fromImage(imdisplay));
QImage imdisplay((uchar*)normalImage.data, normalImage.cols,
normalImage.rows, normalImage.step, QImage::Format_RGB888);
那是老式铸造的一部分
答案 0 :(得分:1)
@VTT指出,“旧样式转换”表示“ C样式”转换。 C ++编译器更喜欢使用C ++强制转换:
您的情况是由(uchar*)normalImage.data
引起的。
但我想知道您是否需要任何强制转换,因为Mat::data
被记录为uchar *
:https://docs.opencv.org/2.4/modules/core/doc/basic_structures.html#mat