【计算机视觉 实验一 图像的基本操作】

计算机视觉 实验一 图像的基本操作

  • 一、实验目的
  • 二、实验内容及要求
  • 三、 实验程序
    • 实验内容1:图像的打开、保存、显示
    • 实验内容2:图像上添加文字
    • 实验内容3:图像的减法运算
    • 实验内容4:图像的水平镜像
    • 实验内容5:图像的缩放
  • 四、实验结果记录
  • 五、附实验用图片下载

一、实验目的

  1. 图像的打开、保存、显示;
  2. 图像上添加文字;
  3. 图像的减法运算;
  4. 图像的水平镜像;
  5. 图像的缩放;

实验软件
Python、OpenCV、NumPy

二、实验内容及要求

1.获取实验用图像:SuYiMing.jpeg.使用OpenCV的imread函数将图像读入,将图像转为灰度图像后另存为Lena.jpg文件,显示原图和灰度图。
2. 将lena.bmp.图像文件读入,在其左上角添加文字“OpenCV on Lena”, 显示运算前后图像。
3. 将A.bmp和B.bmp图像进行相减,显示运算前后图像,并分析其中颜色变化的原因。
4. 对lena.bmp图像做水平镜像,显示运算前后图像。
5. 将lena.bmp图像放大4倍,显示运算前后图像。

三、 实验程序

实验内容1:图像的打开、保存、显示

%实验1:图像的打开、保存、显示

import cv2
import numpy as np
if __name__ == "__main__":
    img_path="SuYiMing.jpg"
    img = cv2.imread(img_path)
    #获取图片的宽和高
    width,height = img.shape[:2][::-1]
    #将图片缩小便于显示观看
    img_resize=cv2.resize(img,(int(width*0.5),int(height*0.5)),interpolation=cv2.INTER_CUBIC)
    cv2.imshow("img",img_resize)
    print("img_reisze shape:{}".format(np.shape(img_resize)))
    #将图片转为灰度图
    img_gray = cv2.cvtColor(img_resize,cv2.COLOR_RGB2GRAY)
    cv2.imwrite("Lena.jpg",img_gray)
    cv2.imshow("img_gray",img_gray)
    print("img_gray shape:{}".format(np.shape(img_gray)))
cv2.waitKey()

实验内容2:图像上添加文字

%实验2:图像上添加文字

from PIL import Image, ImageDraw, ImageFont
im02 = Image.open("lena.bmp")
draw = ImageDraw.Draw(im02)
ft = ImageFont.truetype("C:\\Windows\\Fonts\\simsun.ttc", 40)
draw.text((30,30), u"OpenCV on Lena",font=ft, fill='black')
im02.show()

实验内容3:图像的减法运算

%实验3:图像的减法运算

import cv2
img1=cv2.imread("A.bmp",flags=cv2.IMREAD_COLOR)
img2=cv2.imread("B.bmp",flags=cv2.IMREAD_COLOR)
cv2.imshow('A',img1)
cv2.imshow('B',img2)
sub=cv2.subtract(img1,img2)
cv2.imshow('sub',sub)
cv2.waiKey(0)
cv2.destroyALLWindows()

实验内容4:图像的水平镜像

%实验4:图像的水平镜像

import cv2
img=cv2.imread(“lena.bmp”,flags=cv2.IMREAD_COLOR)
cv2.imshow(‘lena’,img)
f=cv2.flip(img,1)# 水平翻转
#f2 = cv2.flip(img, 0) # 垂直翻转
#f3 = cv2.flip(img, -1) # 水平垂直翻转
cv2.imshow(‘flip’,f)
cv2.waitKey(0)
cv2.destroyALLWindows()

实验内容5:图像的缩放

%实验5:图像的缩放

import cv2
img=cv2.imread(“lena.bmp”,flags=cv2.IMREAD_COLOR)
cv2.imshow(‘lena’,img)
Res=cv2.resize(img,None,fx=4,fy=4,interpolation=cv2.INTER_CUBIC)
Cv2.imshow(‘res’,res)
Cv2.waitKey(0)
Cv2.destroyALLWindows()

四、实验结果记录

实验一的结果:
原图与灰度图如下:
【计算机视觉 实验一 图像的基本操作】_第1张图片

实验二的结果:
【计算机视觉 实验一 图像的基本操作】_第2张图片
实验三的结果:
【计算机视觉 实验一 图像的基本操作】_第3张图片
【计算机视觉 实验一 图像的基本操作】_第4张图片【计算机视觉 实验一 图像的基本操作】_第5张图片
实验四的结果:
【计算机视觉 实验一 图像的基本操作】_第6张图片
【计算机视觉 实验一 图像的基本操作】_第7张图片
实验五的结果:
【计算机视觉 实验一 图像的基本操作】_第8张图片

五、附实验用图片下载

1.csdn下载
2.百度网盘下载链接:https://pan.baidu.com/s/1KzEQdSirWtY07A2flk77NQ
提取码:3q6q

下一篇:计算机视觉 实验二 图像增强

你可能感兴趣的:(计算机视觉,opencv,python,图像处理)