最近帮朋友处理一个.CR2图片格式转jpg 。因为他是用C++编程的,让我写个python脚本,将cr2格式转为jpg格式,所以会涉及到C++调用python函数,下面给大家分享一下过程 。
首先我们写一个CR2CVTJPG.py的文件
import numpy as npfrom PIL import Imagefrom rawkit.raw import Rawfrom rawkit.options import WhiteBalanceimport os.path import globdef cr2cvtjpg(): basepath = os.path.dirname(os.path.abspath(r'C:UsersLeowenAnaconda3Libsite-packagesLibRaw-0.18.13inlibraw.dll')) os.environ['PATH'] = basepath +os.pathsep + os.environ['PATH'] # 获取图片 imagePaths = glob.glob("C:\Users\Leowen\Desktop\image"+"\*.CR2") # 循环处理单个图片 for (i,imagePath) in enumerate(imagePaths): with Raw(filename=imagePath) as raw: raw.options.white_balance = WhiteBalance(camera=False, auto=True) outputpath = "C:\Users\Leowen\Desktop\" +str(i) + ".ppm" raw.save(filename=outputpath) img = Image.open(outputpath) jpgoutputpath = "C:\Users\Leowen\Desktop\" +str(i) + ".jpg" img.save(jpgoutputpath)这个python程序就不解释了,这是python的知识,我们这里主要将C++调用python函数 。
我用anaconda3安装的python36 。VS编辑器用的是VS2015.
首先我们新建一个项目

文章插图
然后新建一个main.cpp文件 。在我们属性管理器中,修改我们的项目的解决方案平台x64 。
main.cpp内容为:
#include 【详细教您cr2怎么打开 cr2格式怎么打开】 #include

文章插图
接着我们配置项目属性
将python的头文件(比如C:UsersLeowenAnaconda3include)添加到,项目属性页->VC++目录-> 包含目录 。
将python.lib文件(比如C:UsersLeowenAnaconda3libs)添加到,配置->链接器->输入->附加依赖项 。

文章插图
接下来修改pyconfig.h文件 。
找到C:UsersLeowenAnaconda3includepyconfig.h文件,打开文件,搜索python36_d.lib,将
# if defined(_DEBUG)# pragma comment(lib,"python36_d.lib")修改为:
# if defined(_DEBUG)# pragma comment(lib,"python36.lib")再搜索Py_DEBUG,将
#ifdef _DEBUG# define Py_DEBUG#endif修改为:
#ifdef _DEBUG//# define Py_DEBUG#endif接下来,将我们的python脚本拷贝到我们项目文件中

文章插图
生成解决方案:

文章插图
运行结果

文章插图
- cad版本怎么转换?详细转换方法
- 圣诞节长图海报怎么在线制作,附上详细的图文教程教学,一学就会
- 随着电脑硬件的发展|更换笔记本硬盘的详细方法步骤
- 开淘宝店的详细步骤 开网店要交钱吗
- 通过身份证号查询所在地区归属地,注意不包括详细地址
- 房地产开发与管理 房地产开发流程 详细
- 公路施工详细步骤图解,公路施工开始详细步骤
- 供电局是如何远程抄电表的,详细讲解智能电表,是如何传送数据的
- 开发商拿地后的开发流程,房地产开发流程 详细
- mybatis|iqooneo7se详细配置参数-iqooneo7se手机详情介绍
