实验目的
(1)掌握Anaconda中应用工具库的安装及配置。
(2)熟练操作Anaconda环境中Jupyter Notebook的使用。
(3)熟悉Anaconda环境中OpenCV程序的编写及运行。
实验原理
(1)熟练掌握Anaconda环境的安装及其基本操作。
(2)理解Jupyter Notebook的工作原理。
(3)将上机程序调试通过,并能独立完成课堂练习题目。
实验内容与步骤
1.安装完成OpenCV3.3 + Python3.6 开发环境配置,并完成相关配置操作;掌握在Python编程中调用相应的库;掌握在Jupyter Notebook中的基本操作;掌握基本OpenCV python程序的编写。
为了提高安装速度,先配置清华镜像,命令为:
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --set show_channel_urls yes
确认使用了清华镜像:
设置好之后,可以查看到它保存到了一个配置文件里面,这个文件windows的话在你的家目录下,如果C:\Users\自己的账户名\下的.condarc文件
配置python3.6环境:
打开Anaconda-Navigator,点击create,选择python3.6
安装opencv::
在Anaconda-Navigator左侧选择 Environment,在右侧要使用的环境中,左上方将 Installed 改为All,右侧搜索cv,便可看到opencv,勾选后点击右下角 Apply
2.参照chapter2.ipynb文件,把相关操作执行一遍
将需要操作的图片与代码放在同一个文件夹下,方便后续操作
import cv2
import numpy as np
img = np.zeros((3, 3), dtype = np.uint8) # 通过二维NumPy数组来简单创建一个黑色的正方形图像
print(img) # 在控制台打印该图像
print(img.shape) # 通过shape属性来查看图像的结构,返回行和列,如果有一个以上的通道,还会返回通道数
img = cv2.cvtColor(img,cv2.COLOR_GRAY2BGR) # 利用cv2.cvtColor函数将该图像转换成BGR格式
print(img)
print(img.shape)
cv2.namedWindow("Image") # 显示该图像
cv2.imshow("Image", img)
cv2.waitKey (0)
import cv2
image = cv2.imread('car.jpg') # 将‘car.jpg’的图片与.py文件放在同一目录下,或者使用绝对路径
cv2.imwrite('flower.png',image)
import cv2
import numpy as np
garyImage = cv2.imread('car.jpg',cv2.IMREAD_GRAYSCALE)
cv2.imwrite('car.png',garyImage)
import cv2
from matplotlib import pyplot as plt
img = cv2.imread('car.png',0);#打开为灰度图像
plt.imshow(img, 'gray') #必须规定为显示的为什么图像
# plt.xticks([]),plt.yticks([]) #隐藏坐标线
plt.show() #显示出来,不要也可以,但是一般都要了
3.实验二操作练习
import cv2
print(cv2.__version__)
import cv2
import imutils
import numpy as np
rgb_img = cv2.imread('guet.jpg')
gray_img = cv2.cvtColor(rgb_img,cv2.COLOR_BGR2GRAY)
cv2.imshow('origin image for GUET',imutils.resize(rgb_img,600))
cv2.imshow('gray image for GUET',imutils.resize(gray_img,600))
cv2.imwrite('rgb_img.jpg',rgb_img)
cv2.imwrite('gray_img.png',gray_img)
if cv2.waitKey(0)==27:
cv2.destroyAllWindows()
import cv2
img=cv2.imread('guet.jpg')
t1,dst1=cv2.threshold(img,127,255,cv2.THRESH_BINARY)
t2,dst2=cv2.threshold(img,210,255,cv2.THRESH_BINARY)
cv2.imshow('img',img)
cv2.imshow('dst1',dst1)
cv2.imshow('dst2',dst2)
if cv2.waitKey(0)==27:
cv2.destroyAllWindows
import cv2
img=cv2.imread('black.jpg',0)
t1,dst1=cv2.threshold(img,127,255,cv2.THRESH_BINARY)
t2,dst2=cv2.threshold(img,127,150,cv2.THRESH_BINARY)
cv2.imshow('img',img)
cv2.imshow('dst1',dst1)
cv2.imshow('dst2',dst2)
if cv2.waitKey(0)==27:
cv2.destroyAllWindows
import cv2
img=cv2.imread('black.jpg',0)
t1,dst1=cv2.threshold(img,127,255,cv2.THRESH_BINARY)
t2,dst2=cv2.threshold(img,127,255,cv2.THRESH_BINARY_INV)
cv2.imshow('img',img)
cv2.imshow('dst1',dst1)
cv2.imshow('dst2',dst2)
if cv2.waitKey(0)==27:
cv2.destroyAllWindows
import cv2
from matplotlib import pyplot as plt
image=cv2.imread('flower1.png')
px=image[191,218]
print(px)
plt.imshow(image,'gray')
grayimage=cv2.imread('flower.jpg')
cv2.imwrite('flower2.png',grayimage)