python图像处理入门(一)

yipeiwu_com6年前Python基础

一、环境

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

图像处理那首先要配个环境嘛,配环境真的是我长久以来的噩梦了,每次都会出现奇奇怪怪的问题,首先上网查找了一下,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按钮旁边的这个位置

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

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

Spyder是什么呢?

嗯这是一个看着很让人喜欢的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设计】网站的支持!

相关文章

Python3匿名函数用法示例

本文实例讲述了Python3匿名函数用法。分享给大家供大家参考,具体如下: # -*- coding:utf-8 -*- #!python3 # 匿名函数 # 1.不用给函数取名 #...

python使用PyCharm进行远程开发和调试

python使用PyCharm进行远程开发和调试

背景描述 有时候Python应用的代码在本地开发环境运行十分正常,但是放到线上以后却出现了莫名其妙的异常,经过再三排查以后还是找不到问题原因,于是就在想,要是可以在服务器环境中进行单步跟...

Python中文件的读取和写入操作

从文件中读取数据 读取整个文件 这里假设在当前目录下有一个文件名为'pi_digits.txt'的文本文件,里面的数据如下: 3.1415926535 8979323846 2643...

python正常时间和unix时间戳相互转换的方法

本文实例讲述了python正常时间和unix时间戳相互转换的方法。分享给大家供大家参考。具体分析如下: 这段代码可以用来转换常规时间格式为unix时间戳,也可以将unix时间戳转换回来,...

Python实现DDos攻击实例详解

Python实现DDos攻击实例详解

SYN 泛洪攻击 SYN泛洪攻击是一种比较常用的Dos方式之一。通过发送大量伪造的 TCP 连接请求,使被攻击主机资源耗尽(通常是 CPU 满负荷或内存不足)的攻击方式 我们都知道建立...