因为Hi3559AV100后期深度学习开发需要用到.bgr格式的图片,而目前在手的一般为.jpg或.bmp格式的图片,下面随笔将给出基于OpenCV-2.4.13的格式转换,实现Hi35xx .jpg/.bmp格式转.bgr格式转换。

VS2015上OpenCV-2.4.13安装

环境

  Win10

  VS2015 win32 Debug

操作步骤

  现在给出OpenCV-2.4.13安装具体细节:

  首先给出下载地址,OpenCV是开源免费的,通过网站直接下载:https://opencv.org/releases/#

  下载好之后,把下载包压缩到文件夹下(注意没有中文等),压缩好之后,先在win10上配置好环境变量,具体如下操作:

  在系统环境PATH变量下添加opencv\build\x86\vc14\bin路径:(若VS2015需要x64 Debug,则添加x64的bin路径,也可以两个都添加,方便后面使用) 记得一定要重启

  添加完系统路径后,打开VS2015,创建Win32控制台应用程序,点击完成之后,下一步选择空项目创建:

  创建完成之后,选择属性管理器:

  随后在属性管理器界面点开Debug|Win32,双击Microsoft.Cpp.Win32.user:

  随后在VC++目录下添加包含目录、库目录,添加具体内容如下:

  随后在链接器下面选择输入,添加附加依赖项:

  附加依赖项添加具体内容如下:(带D表示为Debug模式,否则为Release模式)

 1 opencv_calib3d2413d.lib
2 opencv_contrib2413d.lib
3 opencv_core2413d.lib
4 opencv_features2d2413d.lib
5 opencv_flann2413d.lib
6 opencv_gpu2413d.lib
7 opencv_highgui2413d.lib
8 opencv_imgproc2413d.lib
9 opencv_legacy2413d.lib
10 opencv_ml2413d.lib
11 opencv_nonfree2413d.lib
12 opencv_objdetect2413d.lib
13 opencv_ocl2413d.lib
14 opencv_photo2413d.lib
15 opencv_stitching2413d.lib
16 opencv_superres2413d.lib
17 opencv_ts2413d.lib
18 opencv_video2413d.lib
19 opencv_videostab2413d.lib

   虽然在工程下创建源文件即可编辑,输入如下内容进行测试:

 1 #include <opencv.hpp>
2 using namespace cv;
3 int main()
4 {
5 Mat srcImage;
6 srcImage = imread("C:/Users/PC/Desktop/jpg_bgr/10_MariaCallas_28_f.jpg");
7
8 imshow("显示图像", srcImage);
9
10 waitKey();
11
12 return 0;
13 }

  测试通过后,进行Hi35xx .jpg/.bmp格式转.bgr格式实现。

Hi35xx .jpg/.bmp格式转.bgr OpenCV实现

  下面直接给出代码,供大家使用:

代码实现

 1 #include <stdio.h>
2 #include <windows.h>
3 #include <math.h>
4 #include <iostream>
5 #include <string>
6
7 #include "opencv2/opencv.hpp"
8 #include "opencv2/highgui/highgui.hpp"
9 #include "opencv2/imgproc/imgproc.hpp"
10
11 using namespace cv;
12
13 typedef unsigned char U_CHAR;
14
15 int main()
16 {
17 const char *filename = "C:/Users/PC/Desktop/jpg_bgr/10_MariaCallas_28_f.jpg";
18 char *outname = "C:/Users/PC/Desktop/jpg_bgr/10_MariaCallas_28_f.bgr";
19 int flag = 1;
20
21 cv::Mat img = cv::imread(filename);
22 if (!img.data)
23 {
24 printf("read image error\n");
25 return -1;
26 }
27
28 //缩放
29 resize(img, img, Size(112, 112)); //224x224
30 //imshow("img",img);
31 //waitKey(0);
32
33 U_CHAR *data = (U_CHAR*)img.data;
34 int step = img.step;
35 printf("Step: %d, height: %d, width: %d\n",
36 step, img.rows, img.cols);
37
38 FILE *fp = fopen(outname, "wb");
39 int h = img.rows;
40 int w = img.cols;
41 int c = img.channels();
42
43 for (int k = 0; k<c; k++) {
44 for (int i = 0; i<h; i++) {
45 for (int j = 0; j<w; j++) {
46 fwrite(&data[i*step + j*c + k], sizeof(U_CHAR), 1, fp);
47 }
48 }
49 }
50 fclose(fp);
51
52 return 0;
53 }

112×112 转换.bgr测试结果

VS2015上OpenCV-2.4.13安装与Hi35xx .jpg/.bmp格式转.bgr格式开发的更多相关文章

  1. ubuntu 16.04 安装opencv 2.4.13

    ubuntu 16.04 安装opencv 2.4.13 https://blog.csdn.net/u011557212/article/details/54706966?utm_source=it ...

  2. macOS Sierra上Opencv的安装与使用

    安装cmake brew install cmake 安装OpenCV brew install opencv //opencv升级 # brew upgrade opencv 配置OpenCV环境: ...

  3. 【OpenCV第一篇】安装OpenCV

    [OpenCV第一篇]安装OpenCV 本篇主要介绍如何下载OpenCV安装程序,如何在VS2008下安装配置OpenCV,文章最后还介绍了一个使用OpenCV的简单小例子. <OpenCV入门 ...

  4. Tesseract-OCR4.0版本在VS2015上的编译与运行(转)

    最近刚开始接触识别库引擎方面的知识,由于项目中需要使用光学识别处理模块,在老师与朋友的推荐下,我开始接触tesseract光学识别库,在最开始从GitHub上下载的源代码进行编译的时候,出现了许多意想 ...

  5. java jdk-awt.font在centos上中文乱码的问题, 安装中文字体

    有需求生成一个二维码,并且有一段文本说明,但是使用awt.font来生成中文时,一直存在乱码的问题.网上的解决办法有几种,但是在centos上亲测有用的就是如下的方法. Java代码如下:new ja ...

  6. macOS 10.13 安装Virtualbox失败

    macOS 10.13 安装Virtualbox失败 Enviroment macOS: 10.13 High Sierra virtualBox: 5.1.28 Problem descriptio ...

  7. OpenCV 2.4.13 installed in Ubuntu 14 and CMakeLists Demo

    1. 配置编译器环境 [compiler] sudo apt-get install build-essential 2. 安装OpenCV的依赖包 [required] -dev pkg-confi ...

  8. Ubuntu 16.04 安装opencv的各种方法(含opencv contrib扩展包安装方法)

    Ubuntu 16.04 安装opencv的各种方法(含opencv contrib扩展包安装方法) https://blog.csdn.net/ksws0292756/article/details ...

  9. mysql8.0.13安装、使用教程图解

    mysql8.0.13安装.使用教程图解 MySQL是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Manageme ...

随机推荐

  1. five86-1 (OpenNetadmin RCE+cp命令提权+crunch生成密码字典)

    Vulnhub-Five86-1 实验环境 kali攻击机ip:192.168.56.116 Five86-1靶机ip:192.168.56.121 知识点及工具 nmap扫描 john爆破 Open ...

  2. 英语能力考试 All In One

    英语能力考试 All In One 托福,雅思,托业 TOEIC 托业考试 Test of English for International Communication (TOEIC) 国际交流英语 ...

  3. vue 二级子路由跳转不了 bug

    vue 二级子路由跳转不了 bug @click.prevent 阻止原生事件的冒泡 <li class="tools-hover-box-list-item" v-for= ...

  4. iOS WebView All In One

    iOS WebView All In One WKWebView / UIWebView Swift Playground //: A UIKit based Playground for prese ...

  5. URLSearchParams & Location & URL params parse

    URLSearchParams & Location & URL params parse URL params parse node.js env bug node.js & ...

  6. Google IO & 2019

    Google IO & 2019 Google IO Recap \ https://www.techradar.com/news/google-io-2019-keynote https:/ ...

  7. js & input event & input change event

    js & input event & input change event vue & search & input change <input @click=& ...

  8. VSCode & useful Extensions

    VSCode & useful Extensions Code Spell Checker bug user dictionary https://www.cnblogs.com/xgqfrm ...

  9. NGK DeFi Baccarat或将推动BGV成为下一个千倍币!

    目前,已经接近2020年年末,但是DeFi的热潮还在持续.近日,DeFi市场传出一道重磅利好消息,便是NGK DeFi去中心化交易系统Baccarat即将上线.届时,将会引起整个区块链市场的又一次震动 ...

  10. NGK——解决区块链用户之“难”

    自比特币诞生以来,区块链行业已发展十余年,而且在在金融.民生.司法存证.供应链协同.税务发票.版权保护等领域得到一定程度的应用,但大多属于边缘业务,以探索试点为主,应用深度和广度不足.为什么会这样?是 ...