VS2015上OpenCV-2.4.13安装与Hi35xx .jpg/.bmp格式转.bgr格式开发
因为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格式开发的更多相关文章
- 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 ...
- macOS Sierra上Opencv的安装与使用
安装cmake brew install cmake 安装OpenCV brew install opencv //opencv升级 # brew upgrade opencv 配置OpenCV环境: ...
- 【OpenCV第一篇】安装OpenCV
[OpenCV第一篇]安装OpenCV 本篇主要介绍如何下载OpenCV安装程序,如何在VS2008下安装配置OpenCV,文章最后还介绍了一个使用OpenCV的简单小例子. <OpenCV入门 ...
- Tesseract-OCR4.0版本在VS2015上的编译与运行(转)
最近刚开始接触识别库引擎方面的知识,由于项目中需要使用光学识别处理模块,在老师与朋友的推荐下,我开始接触tesseract光学识别库,在最开始从GitHub上下载的源代码进行编译的时候,出现了许多意想 ...
- java jdk-awt.font在centos上中文乱码的问题, 安装中文字体
有需求生成一个二维码,并且有一段文本说明,但是使用awt.font来生成中文时,一直存在乱码的问题.网上的解决办法有几种,但是在centos上亲测有用的就是如下的方法. Java代码如下:new ja ...
- macOS 10.13 安装Virtualbox失败
macOS 10.13 安装Virtualbox失败 Enviroment macOS: 10.13 High Sierra virtualBox: 5.1.28 Problem descriptio ...
- 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 ...
- Ubuntu 16.04 安装opencv的各种方法(含opencv contrib扩展包安装方法)
Ubuntu 16.04 安装opencv的各种方法(含opencv contrib扩展包安装方法) https://blog.csdn.net/ksws0292756/article/details ...
- mysql8.0.13安装、使用教程图解
mysql8.0.13安装.使用教程图解 MySQL是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Manageme ...
随机推荐
- pikachu-反射性xss(get)
首先打开漏洞网页,发现输入的长度好像被限制了, 我们便F12查看源代码,发现长度被限制成了20,而且还是前端验证的,我们可以直接修改为100 在我们的输入框中,输入 <script>ale ...
- Install pyaudio on Ubuntu
pip install python3-pyaudio sudo apt-get install portaudio19-dev python-all-dev pip install pyaudio
- tensorflow-gpu+"Failed to create session"
成因: 未给系统指定相应使用的GPU 解决: 层面1: 针对单个程序: CUDA_VISIBLE_DEVICES=0 python main.py import os; os.environ['CUD ...
- URLSearchParams & shape URL params
URLSearchParams https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams var paramsString = ...
- How to change Linux Terminal display username
How to change Linux Terminal display username 如何更改 Linux Terminal 显示的用户名 (base) ➜ ~ whoami xgqfrms-m ...
- how to create a style element in js (many ways)
how to create a style element in js (many ways) create style in js Constructed StyleSheets CSSStyleS ...
- wifi IP address scanner on macOS
wifi IP address scanner on macOS Nmap Network Scanning https://nmap.org/book/inst-macosx.html https: ...
- 1020 Tree Traversals——PAT甲级真题
1020 Tree Traversals Suppose that all the keys in a binary tree are distinct positive integers. Give ...
- python的基本运算符
目录 基本运算符 1.算术运算符 2.比较运算符 3.赋值运算符 4.逻辑运算符 5.身份运算符 6.位运算符 7.成员运算符 基本运算符 1.算术运算符 运算符 描述 实例 + 加-两个对象相加 a ...
- docker仓库之harbor高可用 (三)
基于上一篇部署完成了企业级仓库harbor的部署,今天我们来聊聊什么是harbor的高可用 Harbor 支持基于策略的 Docker 镜像复制功能,这类似于 MySQL 的主从同步,其可以实现不同的 ...