因为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. pikachu-反射性xss(get)

    首先打开漏洞网页,发现输入的长度好像被限制了, 我们便F12查看源代码,发现长度被限制成了20,而且还是前端验证的,我们可以直接修改为100 在我们的输入框中,输入 <script>ale ...

  2. Install pyaudio on Ubuntu

    pip install python3-pyaudio sudo apt-get install portaudio19-dev python-all-dev pip install pyaudio

  3. tensorflow-gpu+"Failed to create session"

    成因: 未给系统指定相应使用的GPU 解决: 层面1: 针对单个程序: CUDA_VISIBLE_DEVICES=0 python main.py import os; os.environ['CUD ...

  4. URLSearchParams & shape URL params

    URLSearchParams https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams var paramsString = ...

  5. How to change Linux Terminal display username

    How to change Linux Terminal display username 如何更改 Linux Terminal 显示的用户名 (base) ➜ ~ whoami xgqfrms-m ...

  6. 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 ...

  7. wifi IP address scanner on macOS

    wifi IP address scanner on macOS Nmap Network Scanning https://nmap.org/book/inst-macosx.html https: ...

  8. 1020 Tree Traversals——PAT甲级真题

    1020 Tree Traversals Suppose that all the keys in a binary tree are distinct positive integers. Give ...

  9. python的基本运算符

    目录 基本运算符 1.算术运算符 2.比较运算符 3.赋值运算符 4.逻辑运算符 5.身份运算符 6.位运算符 7.成员运算符 基本运算符 1.算术运算符 运算符 描述 实例 + 加-两个对象相加 a ...

  10. docker仓库之harbor高可用 (三)

    基于上一篇部署完成了企业级仓库harbor的部署,今天我们来聊聊什么是harbor的高可用 Harbor 支持基于策略的 Docker 镜像复制功能,这类似于 MySQL 的主从同步,其可以实现不同的 ...