opencv小练习(未完成版)

读取一张彩色图像并将其转换为灰度图。

python 复制代码
import cv2

# 读取图片
img = cv2.imread("./duck.png")
img = cv2.resize(img, dsize=None, fx=0.4, fy=0.4, interpolation=cv2.INTER_LINEAR)
# 读取一张灰度图
img_gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)

# 展示图片
cv2.imshow('image', img)
cv2.imshow('image_gray', img_gray)
# 等待
cv2.waitKey(0)

二值化与形态学操作‌

编写程序,读取一张彩色图像【flower.png】,将其转换为灰度图,然后进行二值化处理。

接着,对二值化后的图像执行腐蚀和膨胀操作,并显示处理前后的图像

python 复制代码
import cv2

# 读取图片
img = cv2.imread("./duck.png")
img = cv2.resize(img, dsize=None, fx=0.4, fy=0.4, interpolation=cv2.INTER_LINEAR)
# 读取一张灰度图
img_gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)

ret, img_binary = cv2.threshold(img_gray, 200, 255, cv2.THRESH_BINARY + cv2.THRESH_OTSU)

# 展示图片
cv2.imshow('image', img)
cv2.imshow('image_gray', img_binary)
# 等待
cv2.waitKey(0)


编写程序,读取一张彩色图像,执行以下操作
对图像应用透视变换,实现油画区域的矫正

python 复制代码
import cv2
import numpy as np

img = cv2.imread("./6667.png")

points1 = np.array([[166, 136], [632, 40], [82, 500], [660,550]],
                   dtype=np.float32)

points2 = np.array([[0, 0], [img.shape[1], 0], [0, img.shape[0]], [img.shape[1], img.shape[0]]],
                   dtype=np.float32)
M = cv2.getPerspectiveTransform(points1, points2)

img_warp = cv2.warpPerspective(img, M,(800,600))


cv2.imshow("img",img)
cv2.imshow("img1",img_warp)
cv2.waitKey(0)

请编写一段Python代码,使用OpenCV库对一张图像进行以下处理:
将图像转换为灰度图。

使用高斯滤波器平滑图像,内核大小为5x5,标准差为1。

使用Canny边缘检测算法检测图像边缘,阈值1为50,阈值2为150。

检测到的边缘图像上绘制轮廓,轮廓颜色为红色,厚度为2。

python 复制代码
import cv2

img = cv2.imread("./tubao.png")

img_gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
_,img_binary = cv2.threshold(img_gray,127,255,
                             cv2.THRESH_BINARY+cv2.THRESH_OTSU
                             )

img_blur = cv2.GaussianBlur(img_binary, (5,5), 1)

img_canny = cv2.Canny(img_blur, 50, 150)
img_copy = img.copy()
contours,hierarchy = cv2.findContours(img_binary,cv2.RETR_EXTERNAL,cv2.CHAIN_APPROX_SIMPLE)
img_draw = cv2.drawContours(img_copy,contours,-1,(0,0,255),2)

cv2.imshow('img', img)
cv2.imshow('img_canny', img_canny)
cv2.imshow('img_draw', img_draw)

cv2.waitKey(0)
相关推荐
txg6663 分钟前
机器人领域简报(2026年5月15日—5月21日)
人工智能·机器人
码上滚雪球5 分钟前
Flink Agents 深度解读:当实时数据流遇上 AI 智能体
大数据·人工智能·flink·滚雪球
PNP Robotics5 分钟前
PNP机器人亮相南京学术论坛,分享具身智能多模态数据采集前沿成果
人工智能·深度学习·学习·机器学习·virtualenv
threelab6 分钟前
Three.js 银河星系效果 | 三维可视化 / AI 提示词
开发语言·javascript·人工智能
想你依然心痛10 分钟前
HarmonyOS 6(API 23)实战:基于悬浮导航、沉浸光感与HMAF的“译界智脑“——PC端AI智能体沉浸式智能翻译与跨语言协作工作台
人工智能·华为·ar·harmonyos
几司10 分钟前
OpenISP 模块拆解 · 第11讲:非局部均值降噪 (NLM)
人工智能·算法·均值算法·isp
海上彼尚10 分钟前
Nodejs也能写Agent - 7.基础篇 - MCP
前端·javascript·人工智能·node.js
灵途科技12 分钟前
具身智能时代,灵途科技重构机器人感知
人工智能·机器人
寻道码路14 分钟前
LangChain4j Java AI 应用开发实战(二):大模型参数调优实战:Temperature、TopP、MaxTokens 深度解析
java·开发语言·人工智能·aigc
Mr数据杨16 分钟前
【CanMV K210】传感器实验 DHT11 温湿度读取与环境监测
人工智能·硬件开发·canmv k210