opencv保存文件的时候是自动按照文件的后缀名来转换格式,所以使用opencv来做图片的格式转换是非常方便的。

#include <iostream>
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <fcntl.h>
#include <sys/ioctl.h>
#include <linux/videodev2.h>
#include <string.h>
#include <sys/mman.h>
#include <assert.h>
#include <opencv2/opencv.hpp>
#include <opencv2/core.hpp>
#include <opencv2/imgcodecs.hpp>
#include <opencv2/highgui.hpp>using namespace std;
using namespace cv;int main() {Mat img = imread("in.jpg", IMREAD_UNCHANGED);if (img.empty()) {cout << "imread failed" << endl;return -1;}if (imwrite("out.png", img)) {cout << "imwrite success" << endl;return 0;} else {cout << "imwrite failed" << endl;return -1;}
}

以上 保存的文件名字是 out.png 。

运行之后我们用 以下命令来确认是否转换成功:

ffprobe   out.png

输入如下:

ffprobe version N-109162-gc0c0a5f106 Copyright (c) 2007-2022 the FFmpeg developersbuilt with gcc 9 (Ubuntu 9.5.0-1ubuntu1~22.04)configuration: --prefix=/home/h/ffmpeg_build --pkg-config-flags=--static --extra-cflags=-I/home/h/ffmpeg_build/include --extra-ldflags=-L/home/h/ffmpeg_build/lib --extra-libs='-lpthread -lm' --ld=g++ --bindir=/home/h/bin --enable-gpl --enable-gnutls --enable-libx264 --enable-nonfreelibavutil      57. 43.100 / 57. 43.100libavcodec     59. 54.100 / 59. 54.100libavformat    59. 34.101 / 59. 34.101libavdevice    59.  8.101 / 59.  8.101libavfilter     8. 50.101 /  8. 50.101libswscale      6.  8.112 /  6.  8.112libswresample   4.  9.100 /  4.  9.100libpostproc    56.  7.100 / 56.  7.100
Input #0, png_pipe, from 'out.png':Duration: N/A, bitrate: N/AStream #0:0: Video: png, rgb24(pc), 800x1067, 25 fps, 25 tbr, 25 tbn

最后一行显示是png 。

同时也可以转换为bmp,webp,tif等格式。

欢迎评论。

使用opencv将jpg转png相关推荐

  1. OpenCV 笔记(09)— 常用的数据结构和函数(Vec、Point、Scalar、Size、Rect、cvtColor)

    1. Vec 对象类型 Vec 是一个主要用于数值向量的模板类.我们可以定义向量的类型和组件的数量: Vec<double, 19> myVector 我们还可以使用任何的预定义类型: t ...

  2. OpenCV 笔记(08)— 二维点、三维点、基于 Mat 的 std::vector 等常用数据结构的定义和输出

    1. 定义和输出二维点 Point2f p2(3, 4);cout << "[二维点] is "<< endl << p2 << e ...

  3. OpenCV 笔记(07)— Mat 对象输出格式设置(Python 格式、CSV 格式、NumPy 格式、C 语言格式)

    首先是下面代码中将要使用的 r 矩阵的定义.需要注意,我们可以通过用 randu 函数产生的随机值来填充矩阵, 需要给定一个上限和下限来确保随机值在期望的范围内. Mat r = Mat(2, 3, ...

  4. OpenCV 笔记(06)— Mat 结构、像素值存储方法、创建 Mat 对象各种方法、Mat 对象的运算

    数字图像中的每个点都称为像素(对于图像元素),并且每个像素可以存储一个或多个值,这取决于它是否是仅存储一个值的黑白图像(也称为二进制图像,比如只存储0或1),还是存储两个值的灰度图像,或者是存储三个值 ...

  5. OpenCV 笔记(05)— opencv.hpp 头文件作用(是其它所有头文件的全集)

    在编辑器中通过点击 #include "opencv2/opencv.hpp" 头文件就可以看到该头文件的定义如下 #ifndef OPENCV_ALL_HPP #define O ...

  6. OpenCV 笔记(03)— 读取视频、通过摄像头采集视频、采集视频 canny 边缘检测

    我们本节学习如何利用 OpenCV 中的 VideoCapture 类,来对视频进行读取显示,以及调用摄像头. VideoCapture 它提供了从摄像机或视频文件捕获视频的 C++ 接口, 作用是从 ...

  7. OpenCV 笔记(02)— 图像显示、保存、腐蚀、模糊、canny 边缘检测(imread、imshow、namedWindow、imwrite)

    OpenCV 提供两种用户界面选项: 基于原生用户界面的基本界面,适用于 Mac OS X 的 cocoa 或 carbon,以及适用于 Linux 或 Windows 用户界面的 GTK ,这些界面 ...

  8. OpenCV 笔记(01)— OpenCV 概念、整体架构、各模块主要功能

    1. OpenCV 概念 图像处理( Image Processing )是用计算机对图像进行分析, 以达到所需结果的技术, 又称影像处理. 图像处理技术一般包括图像压缩, 增强和复原, 匹配.描述和 ...

  9. Python+OpenCV 图像处理系列(9)—— 图像的翻转和缩放插值

    1. 图像的翻转 图像翻转 (Image Flip),图像翻转的本质像素映射,OpenCV 支持三种图像翻转方式: X轴翻转,flipcode = 0 Y轴翻转, flipcode = 1 XY轴翻转 ...

  10. Python+OpenCV 图像处理系列(8)—— Numpy 对象及图像对象创建与赋值

    1. Numpy 相关知识 1.1 Ndarray 对象 在了解 OpenCV 的图像对象之前我们先对 NumPy 的基础知识做一回顾,方便我们后续更进一步理解图像对象的一系列操作. In [2]: ...

最新文章

  1. python定时任务_Python3实现定时任务的四种方式
  2. easyui datagrid 表头 sort 排序
  3. 函数指针,指针函数,数组指针,指针数组 区分
  4. OpenCV捕获视频和摄像头
  5. 【Git】Git-常用命令备忘录(三)
  6. notejs环境搭建
  7. 外媒:苹果已有条件批准京东方为iPhone 13供应OLED屏幕
  8. phpmyadmin mysql float 长度_mysql – phpMyAdmin – “请输入有效长度”
  9. Oracle把Java EE的未来押在Rest API上了?
  10. u8 附件上传后存放路径_用友U8生产不良退料案例教程
  11. 视频教程-学透JavaScript-JavaScript
  12. 佳能Canon PIXMA TS208 打印机驱动
  13. Nginx:屏蔽 IP
  14. 提取Excel中的超链接
  15. python 阮一峰_阮一峰关于 Javascript 中闭包的解读是否正确?
  16. Java生成word文档|综合
  17. IMX6ULL UART5配置错误imx6ul-pinfunc.h
  18. 关于Cause: java.lang.ClassNotFoundException: Cannot find class: 0(提示找不到类)报错
  19. 升级Mac Catalina后OBS录屏软件麦克风和内置声音输出没有声音的问题
  20. Gartner丨 边缘计算成熟度曲线 2019

热门文章

  1. Amlogic预装第三方APK
  2. 在线HTML压缩格式化工具
  3. 经典sql,高级sql
  4. 惊了!个人小程序上线一小时,服务器崩了!
  5. LightGBM特征重要性画图
  6. 实现PLC(S7-1200)的远程操控与调试
  7. html图片边缘阴影效果,CSS3实现图片照片边缘模糊效果
  8. 自定义控件——环形进度条
  9. 专利申请的详细流程和时间
  10. 【Css 基础】-- 块元素和行内元素、行内块元素