python图像处理入门(一)


Posted in Python onApril 04, 2019

一、环境

由于这学期开了图像处理这门课,所以想着在各种实验开始之前自己先动手试一下

图像处理那首先要配个环境嘛,配环境真的是我长久以来的噩梦了,每次都会出现奇奇怪怪的问题,首先上网查找了一下,opencv这个库还是用的比较多的,如果想要使用C++来做图像处理的话,那么使用visual studio搭配opencv是比较常见的,所以就照着网上的教程下载好了vs之后下载了opencv的包,将包导入指定的路径也设置好环境变量之后发现还是不行,怎么办呢?这个时候想到那还不如自己直接用python,一来现在python使用的越来越多,二来方法也多,语法什么的也比较简单,正好自己电脑上之前配置了pycharm,这样省了很多事

本来以为直接在pycharm里面的settings里面导入opencv的包就可以了,可是查了一下发现没有,这里还是要自己从网上下载然后导入,还是好麻烦呀,从网上查到可以从anaconda里面下载,比较方便,可是一个问题是我的pycharm的python解释器是用的自己下载的,而没用anaconda自带的解释器,这样下载下来可能也用不了,机智的我想到把原来的解释器卸载掉然后使用anaconda带来的解释器不就得了,不巧的是卸载的时候脑子一热把anaconda也卸载了……(这可怎么办好)无奈下只好重新下载了anaconda

anaconda有两种下载途径,第一种是从官网下载,第二种是使用清华镜像,清华镜像要快一点,但是一个问题是pycharm使用的时候会报错,这个时候要修改一个.condarc文件,后来又出了各种问题我就想那还是用国外的下载吧,慢就慢一点呗,意外的是其实也没有很慢,这个时候又出了一个错误,这时候重新使用国外下载的版本会报另外一个错误,有些博客提到使用conda update 或者conda update --reset这两条指令,由于前面修改了.condarc文件,所以并没有解决我的问题。可以采用两种方法解决,第一种是改回原来的样子,但是如果像我一样忘了原来的文件怎么办,就可以用第二种方法,将这个文件删掉,再重新执行conda update,成功了。

接下来是修改pycharm中的解释器,需要提到的是不仅要修改interpreter,还需要在pycharm的Run按钮旁边的这个位置

python图像处理入门(一)

我这里对应到cvTest2的下拉框,找到Edit Configuration,修改其中使用的解释器,不然的话由于原来的python解释器和现在的anaconda解释器不同,仍然会提示路径错误,找不到python

就在刚刚可以在pycharm中运行cv且不报错的时候,突然发现anaconda自带了一个神奇的小东西,它的名字叫做spyder,这个小可爱如果早点出现的话,可省了我好多麻烦

Spyder是什么呢?

python图像处理入门(一)

嗯这是一个看着很让人喜欢的python编译器,界面大概是这样的

python图像处理入门(一)

简洁又可爱是不是?更好的是在这个环境里,anaconda下载的库可以直接使用,我的cv使用的第一个成功 的例子就是在Spyder运行成功的,对它的好感又多了一分。

二、实例——读取一个图片

opencv这个库提供了很多有关图像处理的方法,在这里我们首先执行一个可以读取图片的程序:

import cv2 as cv
 
# 读入图片文件
src = cv.imread('E:\\360MoveData\\Users\\Administrator\\Desktop\\things2_0\\flower.jpg')
# 创建一个名字加 “ input image ” 的窗口,
# 窗口可以根据图片大小自动调整
cv.namedWindow('input image', cv.WINDOW_AUTOSIZE)
# 在窗口显示图片
cv.imshow('input image', src)
 
# 等待用户操作
cv.waitKey(0)
# 释放所有窗口
cv.destroyAllWindows()

imread这个方法提供了读取数据的方法,下面的nameWindow方法根据其名字就可以得知是对读取图片之后弹出的窗口做设置的,具体可看代码中注释,接下来我们看一下执行出来的效果

python图像处理入门(一)

哈,读取出来的图片和保存的原图是一样的,这是我要学习图像处理的第一步,那么下一步就要对这个图片做一些改动,这部分放在下一篇博客再讲

以上所述是小编给大家介绍的python图像处理入门详解整合,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Python 相关文章推荐
python基础教程之元组操作使用详解
Mar 25 Python
python函数形参用法实例分析
Aug 04 Python
Python中for循环和while循环的基本使用方法
Aug 21 Python
详解python的数字类型变量与其方法
Nov 20 Python
详解Python进程间通信之命名管道
Aug 28 Python
Python中static相关知识小结
Jan 02 Python
Python下载网络文本数据到本地内存的四种实现方法示例
Feb 05 Python
python 删除列表里所有空格项的方法总结
Apr 18 Python
python 把文件中的每一行以数组的元素放入数组中的方法
Apr 29 Python
Python3的unicode编码转换成中文的问题及解决方案
Dec 10 Python
python爬虫学习笔记之Beautifulsoup模块用法详解
Apr 09 Python
基于python连接oracle导并出数据文件
Apr 28 Python
python爬虫简单的添加代理进行访问的实现代码
Apr 04 #Python
Django项目中添加ldap登陆认证功能的实现
Apr 04 #Python
使用 Python 玩转 GitHub 的贡献板(推荐)
Apr 04 #Python
python中yield的用法详解——最简单,最清晰的解释
Apr 04 #Python
详解python项目实战:模拟登陆CSDN
Apr 04 #Python
Python实现字符串匹配的KMP算法
Apr 04 #Python
Python GUI编程完整示例
Apr 04 #Python
You might like
推荐5款跨平台的PHP编辑器
2014/12/25 PHP
Yii2框架实现登录、退出及自动登录功能的方法详解
2017/10/24 PHP
php使用redis的有序集合zset实现延迟队列应用示例
2020/02/20 PHP
jquery创建div 实现代码
2009/04/27 Javascript
jQuery移动页面开发中的触摸事件与虚拟鼠标事件简介
2015/12/03 Javascript
jquery checkbox无法用attr()二次勾选问题的解决方法
2016/07/22 Javascript
Angularjs通过指令监听ng-repeat渲染完成后执行脚本的方法
2016/12/31 Javascript
详解JS中的attribute属性
2017/04/25 Javascript
Vue2.0利用vue-resource上传文件到七牛的实例代码
2017/07/28 Javascript
使用微信小程序开发弹出框应用实例详解
2018/10/18 Javascript
react的滑动图片验证码组件的示例代码
2019/02/27 Javascript
AngularJs中$cookies简单用法分析
2019/05/30 Javascript
layui实现数据表格自定义数据项
2019/10/26 Javascript
原生js实现点击轮播切换图片
2020/02/11 Javascript
Node.js API详解之 assert模块用法实例分析
2020/05/26 Javascript
微信小程序实现列表的横向滑动方式
2020/07/15 Javascript
vue3.0封装轮播图组件的步骤
2021/03/04 Vue.js
Python用GET方法上传文件
2015/03/10 Python
Python实现定时任务
2017/02/08 Python
详解python调度框架APScheduler使用
2017/03/28 Python
tensorflow中next_batch的具体使用
2018/02/02 Python
python+PyQT实现系统桌面时钟
2020/06/16 Python
Django利用cookie保存用户登录信息的简单实现方法
2019/05/27 Python
Django中Middleware中的函数详解
2019/07/18 Python
python GUI库图形界面开发之PyQt5 Qt Designer工具(Qt设计师)详细使用方法及Designer ui文件转py文件方法
2020/02/26 Python
利用css3-animation实现逐帧动画效果
2016/03/10 HTML / CSS
HTML5 在canvas中绘制文本附效果图
2014/06/23 HTML / CSS
HTML5中input[type='date']自定义样式与日历校验功能的实现代码
2017/07/11 HTML / CSS
LACOSTE波兰官网:Polo衫、服装和鞋类
2020/09/29 全球购物
重写子类方法时,抛出异常的书写注意事项
2015/10/17 面试题
项目管理计划书
2014/01/09 职场文书
中学教代会开幕词
2016/03/04 职场文书
解决hive中导入text文件遇到的坑
2021/04/07 Python
nginx服务器的下载安装与使用详解
2021/08/02 Servers
Java 使用类型为Object的变量指向任意类型的对象
2022/04/13 Java/Android
win10如何开启ahci模式?win10开启ahci模式详细操作教程
2022/07/23 数码科技