从0开始的OpenCV图像处理(一)

所需库

pip install numpy
pip install scipy
pip install matplotlib
pip install mahotas
pip install scikit-learn
pip install -U scikit-image

从0开始的机器视觉

从0开始学习OpenCV(当然得有一定的Python基础),直接来看代码吧,新建一个load_display_save.py

from __future__ import print_function
import argparse
import cv2

ap = argparse.ArgumentParser()
ap.add_argument("-i", "--image", required=True,
                help="Path to the image")
args = vars(ap.parse_args())

首先是导入所必须要的第三方库。

from __future__ import print_function 实际上在这里使用的是print()函数,而不是print语句实际上是为了兼容python3 和 python2的使用。

argparse 是为了帮助处理解析命令行参数,而cv2 很明显是为了之后的图像处理做引用。

随后5-8行代码是用来处理解析命令,--image 用来获取硬盘上的图像路径,随后将量化的图像数据存储在字典中(python本身并没有数组功能(python3.7),使用numpy可以解决)。

image = cv2.imread(args["image"])
print("width:{}pixels".format(image.shape[1]))
print("height:{}pixels".format(image.shape[0]))
print("channels:{}".format(image.shape[2]))

cv2.imshow("Image", image)
cv2.waitKey(0)

现在,所选择的图片已经加载到计算机内存中了,调用cv2.imread()函数,它可以返回一个代表图像的 Numpy 数组。

随后三行代码,通过print()函数来输出(可视化)图像的信息,因为已经是数组形式的数据了所以这里可以通过调用.shape属性来输出。

最后两行,第一个用来在桌面显示我们调用的图像,imshow()方法中的"Image"代表输出框的名称,image 代表我们从硬盘中提取到内存中的图像映射名称,waitKey()方法用来控制输出的选项框不会立刻消失(如果没有这行代码,可能结果只会出现在一瞬间后就立马消失),"0"代表按下键盘上的任意按键来结束(关闭)这个输出框。

最后一件事就是将“处理(事实这个程序15行啥也没干…不过作为学习使用方法了)”写入到硬盘中:

cv2.imwrite("newimage.jpg", image)

如果想调试这个项目的话需要在terminal中“手动”调试:(pycharm下方自带terminal选项卡可以很方便的使用,vs code也同理,如果需要在cmd之类的终端运行代码的话 需要cd 到代码所在目录。)

比如:

python load_display_save.py --image ./images/trex.png

更多编程相关的知识可以访问我的个人博客
https://idzforjh.top
联系方式qq:1486702069
欢迎与我一起讨论、学习。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值