欢迎关注我的公众号【极智视界】获取更多我的笔记分享
大家好,我是极智视界。本文介绍了 opencv Mat 转 darknet Image 数据结构的方法,篇幅较短,纯属记录。
下面开始。
// opencv 的 cv::Mat 可以简单通过下述读图得到,也可以直接构造得到,这里使用读图得到
cv::Mat cv_img = cv::imread(imgfile);
int img_w = cv_img.cols;
int img_h = cv_img.rows;
int img_c = cv_img.channels;
unsigned char* imgdata = cv_img.data;
int setp = cv_img.step;
// darknet 的 image 可以直接构造得到
image dk_img = make_image(img_w, img_h, img_c);
// 开始转换 cv::Mat -> dk image
for (int y = 0; y < img_h; ++y) {
for (int k = 0; k < img_c; ++k) {
for (int x = 0; x < img_w; ++x) {
dk_img.data[k * img_w * img_h + y * img_w + x] = imgdata[y * setp + x * 3 + k] / 255.0f;
}
}
}
好了,到此结束,希望我的分享能对你的学习有所帮助。
《【经验分享】opencv Mat 转 darknet Image 数据结构》
扫描下方二维码即可关注我的微信公众号【极智视界】,获取更多AI经验分享,让我们用极致+极客的心态来迎接AI !
版权声明:本文为博主极智视界原创文章,版权归属原作者,如果侵权,请联系我们删除!
原文链接:https://blog.csdn.net/weixin_42405819/article/details/123337719