0.为啥

复现Pytorch-SiamFC里的可视化的时候遇到的错误

在python中调用jpeg4py相关库的时候报错

AttributeError: 'JPEG' object has no attribute 'decompressor'

查看里面的代码

首先它

import jpeg4py as jpeg

然后再decode的时候报错

jpeg.JPEG(img_path).decode()

究其原因是它不能load libjpeg-turbo library

也就是 libjpeg-turbo 库我的电脑里没有

所以就要安装这个库,libjpeg-turbo是与libjpeg接口兼容的一个jpeg编/解码库,其主要的特点就是利用SIMD指令(如X86架构的MMX/SSE/SSE2,ARM架构的NEON)来加速jpeg图像的编/解码,相比被广泛使用的libjpeg,编码和解码性能提高2~4倍左右。

1.安装NASM

因为libjpeg-turbo的源代码中用到了SIMD汇编指令,所以要编译源代码,就要先安装NASM,我下的是win64的下载链接,以管理员身份运行,默认路径即可,然后将其添加到环境变量中。

2.编译libjpeg-turbo

然后在从github上下载libjpeg-turbo的源码,解压后,进入D:\libjpeg-turbo\libjpeg-turbo-master

创建一个build文件夹,打开CMAKE(如果没有安装就去官网下一个安装就行)。

Where is the source code : D:/libjpeg-turbo/libjpeg-turbo-master

Where to build the binaries: D:/libjpeg-turbo/libjpeg-turbo-master/build

点击configure 然后会让你选择编译器,我的编译器是vs2015,选择的是Visual Studio 14 2015 Win64

这里选不对就会报错。没报错就很棒!

点击 Generate

然后打开../build 看到里面由好多的文件,打开ALL_BUILD.vcxproj

在vs2015中打开后,选择release ----点击生成----生成解决方案

成功,这时候,你再打开.../build/Release文件夹,就会发现生成很多 .exe  .lib  .dll

其中我最想要的是turbojpeg.dll

3.重新安装jpeg4py

下载源码-----github链接

解压,然后进入.../jpeg4py-master 中,打开.../jpeg4py-master\src\jpeg4py中的_cffi.py文件

用notepad++打开就行

拉到最下

将你刚刚生成的文件的路径写上去,注意斜杠!

然后回到.../jpeg4py-master 中右键+shift 打开power shell 输入python setup.py install

安装完成!

(其实我觉得这步可以换成,将turbojpeg.dll拷贝到C:\WINDOWS\system32试试,我没试~)

4.普通测试

你可以随便找一个jpeg格式的图片,放在某个路径中,然后输入

F:\tracker_programe\Pytorch-SiamFC-master>python
Python 3.6.6 |Anaconda, Inc.| (default, Jun 28 2018, 11:27:44) [MSC v.1900 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import jpeg4py as jpeg
>>> jpeg.JPEG("001.jpg").decode()

然后会显示

array([[[192, 199, 209],[192, 199, 209],[192, 199, 209],...,[192, 199, 209],[192, 199, 209],[192, 199, 209]],[[192, 199, 209],[192, 199, 209],[192, 199, 209],...,[192, 199, 209],[192, 199, 209],[192, 199, 209]],[[192, 199, 209],[192, 199, 209],[192, 199, 209],...,[192, 199, 209],[192, 199, 209],[192, 199, 209]],...,[[192, 199, 209],[192, 199, 209],[192, 199, 209],...,[192, 199, 209],[192, 199, 209],[192, 199, 209]],[[192, 199, 209],[192, 199, 209],[192, 199, 209],...,[192, 199, 209],[192, 199, 209],[192, 199, 209]],[[192, 199, 209],[192, 199, 209],[192, 199, 209],...,[192, 199, 209],[192, 199, 209],[192, 199, 209]]], dtype=uint8)

这就已经成功了!

5.我自己的调用

我是在跟踪问题调用的---pytorch版的SiamFC

在可视化的时候遇到的这个问题

在问题解决以后

我再输入

python vis_app.py -d F:\tracker_programe\ILSVRC2015_VID\ILSVRC2015 -n best.pth.tar -t train -s 10

结果:

Windows 配置libjpeg-turbo并在python中调用相关推荐

  1. 如何在Python中调用Windows的cmd命令?

    简 介: 利用os,commands,subprocess模块可以在python中调用windows中的命令.从使用方便性上来看,利用os.popen可以执行windows的程序并可以获得返回内容. ...

  2. python r语言 结合 部署_(转)python中调用R语言通过rpy2 进行交互安装配置详解...

    python中调用R语言通过rpy2 进行详解 1.R语言的安装: 大家进行R语言的安装,在安装好R后,需要配置环境变量R才能进行使用. 对此电脑右键->选择高级设置->环境变量-> ...

  3. 一文实现:在python中调用matlab程序,保姆级安装windows环境下的matlab.engine教程

    一.前言   我最近在做一个基于图像融合的目标检测工程,我经常用matlab去研究和创新新型的图像融合算法,因为matlab有着python所不可比拟的数据可视化功能和大量的滤波分解框架包:在目标检测 ...

  4. linux系统下Opencv4.1.1编译安装,以及增加子函数和python中调用

    目录 Table of Contents 目录 一 源码编译和安装 添加opencv路径 二 增加并列子函数的方法 三 增加库函数形参的方法 四 cv增加子函数一些数据变量的问题 4.1 数据类型 一 ...

  5. python调用simulink_[Python-MATLAB] 在Python中调用MATLAB的API

    可以参考官方的说明文档: MATLAB Engine API的使用文档: 原材料: 1.MATLAB 2015a  32位的 2.Python 2.7.13    32位的 安装: 1.运行cmd,切 ...

  6. 如何在Python中调用MATLAB

    最近在实验室做点杂活,一点声音的生成.录音.处理工作.鉴于实验内容需要,不得不找点办法在MATLAB和Python之间建个接口,从Python中调用MATLAB脚本或者是MATLAB的函数.内容不是很 ...

  7. 在Python中调用C/C++:cython及pybind11

    在Python中调用C/C++:cython及pybind11 转自:https://zhuanlan.zhihu.com/p/442935082 Python写起来非常方便, 但面对大量for循环的 ...

  8. 在python中调用js或者nodejs要使用PyExecJs第三方包。

    在python中调用js或者nodejs要使用PyExecJs第三方包. 使用时:import execjs 这是没有用到nodejs的情况:如果用到nodejs,这种写法会报"Cannot ...

  9. python中调用c库

    python中调用c库 2013-04-23 15:34:52|  分类: python核心编程 |  标签:python  makefile   |举报 |字号 订阅 参考地址:http://my. ...

  10. python中调用C++函数

    python中调用C++函数 无参调用 单变量传入与返回调用 numpy数组传入与返回调用 c++类调用 用python写不香吗?还这么复杂调用C++? 一. 无参调用 在python中调用无参数和无 ...

最新文章

  1. JavaScript初学者编程题(16)
  2. 数据集神经网络共同进步
  3. 你真的懂用户画像吗?
  4. 报错org.apache.htrace htrace-core4 4.1.0 incubating htrace-core4.jar 报错spark
  5. python五子棋人机对战_Python:游戏:五子棋之人机对战
  6. 加强版!利用python自动发送邮件
  7. 无法远程连接阿里云的Mysql
  8. hwclock(Linux)
  9. 微信卡券的创建、领取、核销
  10. C指针 取地址符 取值符*
  11. 【转】Mac QQ截图保存在哪里?
  12. nginx转发https网页加载http图片乱码问题
  13. 区块链的隐私保护问题
  14. 客户消费积分管理系统的设计与实现
  15. django学习笔记(五)------path
  16. 工具 | 分享一个很酷的上位机软件
  17. java ajax 输出_正本清源:所谓Ajax输出的三种形式
  18. 物联网设备数据流转之数据如何导出:Excel文件
  19. 技术改造奖补,湖北省技术改造项目奖励补贴标准和申报
  20. Linux---nginx+ffmpeg搭建流媒体服务器

热门文章

  1. python基本数据类型
  2. 苹果手机升级13无法开机_苹果手机更新系统后无法开机
  3. Drools7 Hello Wrold 入门详细步骤--系列01课
  4. 手把手Java爬虫教学 - 1. 了解爬虫
  5. vb是计算机语言吗,vb是什么语言?
  6. virtio iommu
  7. java班级管理系统代码_基于jsp的班级管理系统-JavaEE实现班级管理系统 - java项目源码...
  8. python爬取qq音乐歌曲
  9. TransE模型学习笔记
  10. 用户故事与敏捷方法—用户角色建模