图像处理与机器视觉-实验一

实验1: opencv与图像处理基础

作业内容:

1.安装opencv-python,并配置环境变量;

2.启动并opencv里面的边缘检测测试vscode;

3. 进行图像、视频的读、显、写等操作。

(1) 任意选择一张图片,实现图片的读取、显示、存储操作

(2) 任意选择一段视频,实现视频的读取、播放、存储操作

(3)通过摄像头实现视频图像的采集、显示、存储;

(4)选择一张彩色图像,将图像转换为灰度图像,并将尺寸减小为原来的1/4。

(5)任意选择两张图片实现图像的加法运算并进行显示

(6)选择一张彩色图像,通过像素更改,在图像中显示一个大小为80X100的黑色正方形。

4.编写一个GUI界面,要求有启动摄像头和拍照功能(选做题)

对应操作:

1.之前学习python已经配置好环境,无需再配置,直接安装opencv-python,在系统命令提示符窗口中执行pip install opencv-python。

2.直接打开opencv源码中的samples\python文件夹,选择edge.py文件进行运行测试。

3.(1)

import cv2
import numpy
img=cv2.imread('1.jpg',cv2.IMREAD_REDUCED_COLOR_2)
cv2.imshow('img',img)
cv2.waitKey(0)
cv2.imwrite('2.jpg',img)

(2)

import cv2
vid=cv2.VideoCapture('1.mp4')
fps=30
size=(int(vid.get(cv2.CAP_PROP_FRAME_WIDTH)),int(vid.get(cv2.CAP_PROP_FRAME_HEIGHT)))
mv=cv2.VideoWriter('2.avi',cv2.VideoWriter_fourcc('M','P','4','2'),fps,size)
suc,frame=vid.read()
while suc:
    mv.write(frame)
    cv2.imshow('frame',frame)
    suc,frame=vid.read()
    key=cv2.waitKey(10)
    if key==27:
        break
vid.release()

(3)

import cv2
vid1=cv2.VideoCapture(0)
fps=30
size=(int(vid1.get(cv2.CAP_PROP_FRAME_WIDTH)),int(vid1.get(cv2.CAP_PROP_FRAME_HEIGHT)))
vid2=cv2.VideoWriter('test3.avi',cv2.VideoWriter_fourcc('X','V','I','D'),fps,size)
success,frame=vid1.read()
while success:
    vid2.write(frame)
    cv2.imshow('MyCamera',frame)
    key=cv2.waitKey()
    if key==27:
        break
    success,frame=vid1.read()
vid2.release()

(4)

import cv2
import numpy as np
img1 = cv2.imread("1.jpg")
img2 = cv2.imread("1.jpg",cv2.IMREAD_REDUCED_COLOR_4)
row, col, channel = img2.shape
img_gray = np.zeros((row, col))
for r in range(row):
    for l in range(col):
        img_gray[r, l] = 1 / 3 * img2[r, l, 0] + 1 / 3 * img2[r, l, 1] + 1 / 3 * img2[r, l, 2]
cv2.imshow('img',img1)
cv2.imshow("img_gray", img_gray.astype("uint8"))
cv2.waitKey()

(5)

import cv2
img1 = cv2.imread("3.jpg",cv2.IMREAD_REDUCED_COLOR_4)
img2 = cv2.imread("4.jpg",cv2.IMREAD_REDUCED_COLOR_4)
img3 = img1+img2
img4 = cv2.add(img1,img2)
cv2.imshow('3',img1)
cv2.imshow('4',img2)
cv2.imshow('3+4',img3)
cv2.imshow('34',img4)
cv2.waitKey(0)

(6)

import cv2
import numpy
img=cv2.imread('3.jpg',cv2.IMREAD_REDUCED_COLOR_4)
cv2.imshow('img',img)
h,w,s=img.shape
h1=int(h/2)
w1=int(w/2)
img[h1-40:h1+40,w1-50:w1+50,:]=0
cv2.imshow('dama',img)
cv2.waitKey(0)

4.选做等于不做。

(如有雷同,学术交流请勿介意,联系侵删!)

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

枫嬅

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值