Anaconda优秀的OpenCV应用

一、安装Anaconda OpenCV

首先请到Anaconda官网https://www.anaconda.com/products/individual 下载适合本机的Anaconda。

在Anaconda Prompt中输入以下命令安装:

conda create -n opencv python=3.7
conda activate opencv
conda install -c conda-forge opencv

验证OpenCV安装是否完整可用的代码如下:

import cv2
import numpy as np

img = cv2.imread('test.jpg', 0)
cv2.imshow('image',img)
cv2.waitKey(0)
cv2.destroyAllWindows()

二、打开图像文件

可以通过以下代码打开图片文件:

import cv2

img = cv2.imread('test.jpg')
cv2.imshow('image',img)
cv2.waitKey(0)
cv2.destroyAllWindows()

其中,“test.jpg” 为图片文件名称

三、在图像中绘制形状

可以通过以下代码绘制矩形、圆形等图形:

import numpy as np
import cv2

img = cv2.imread("test.jpg")
cv2.rectangle(img, (384, 0), (510, 128), (0, 0, 255))
cv2.circle(img, (447, 63), 63, (0, 255, 0))
cv2.imshow("image", img)
cv2.waitKey(0)
cv2.destroyAllWindows()

此代码将在图像中添加红色矩形和绿色圆圈

四、调整图像大小与缩放

可以使用以下代码进行图像大小和缩放的调整:

import cv2

img = cv2.imread('test.jpg')

res = cv2.resize(img, None, fx=2, fy=2, interpolation=cv2.INTER_CUBIC)

cv2.imshow('image', img)
cv2.imshow('res', res)

cv2.waitKey(0)
cv2.destroyAllWindows()

在此代码中,我们将原始图像按照2倍大小进行放大,并通过cv2.imshow()函数展示。

五、旋转图像

可以通过以下代码旋转图像:

import cv2
import numpy as np

img = cv2.imread('test.jpg', 0)
rows, cols = img.shape

M = cv2.getRotationMatrix2D((cols/2,rows/2),45,1)
dst = cv2.warpAffine(img,M,(cols,rows))

cv2.imshow('img',dst)
cv2.waitKey(0)
cv2.destroyAllWindows()

此代码将原始图像顺时针旋转45度。

六、滤波和阈值处理

可以使用以下代码对图像进行滤波和二值化:

import cv2
import numpy as np

img = cv2.imread('test.jpg',0)

# 滤波处理
img = cv2.medianBlur(img,5)

# 二值化处理
ret,th1 = cv2.threshold(img,127,255,cv2.THRESH_BINARY)
th2 = cv2.adaptiveThreshold(img,255,cv2.ADAPTIVE_THRESH_MEAN_C,\
            cv2.THRESH_BINARY,11,2)
th3 = cv2.adaptiveThreshold(img,255,cv2.ADAPTIVE_THRESH_GAUSSIAN_C,\
            cv2.THRESH_BINARY,11,2)

# 展示效果
cv2.imshow('image',img)
cv2.imshow('th1',th1)
cv2.imshow('th2',th2)
cv2.imshow('th3',th3)

cv2.waitKey(0)
cv2.destroyAllWindows()

此代码将原始图像进行非线性滤波,并将其转换为3种不同的阈值处理。

七、形态学转换

可以使用以下代码对图像进行形态学转换:

import cv2
import numpy as np

img = cv2.imread('j.png',0)
kernel = np.ones((5,5),np.uint8)

dilation = cv2.dilate(img,kernel,iterations = 1)
erosion = cv2.erode(img,kernel,iterations = 2)
opening = cv2.morphologyEx(img, cv2.MORPH_OPEN, kernel)
closing = cv2.morphologyEx(img, cv2.MORPH_CLOSE, kernel)

cv2.imshow('img',img)
cv2.imshow('dilation',dilation)
cv2.imshow('erosion',erosion)
cv2.imshow('opening', opening)
cv2.imshow('closing', closing)

cv2.waitKey(0)
cv2.destroyAllWindows()

此代码将原始图像进行膨胀、腐蚀、开运算和闭运算等形态学操作。

原创文章,作者:XNXAE,如若转载,请注明出处:https://www.506064.com/n/331763.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
XNXAEXNXAE
上一篇 2025-01-20 14:10
下一篇 2025-01-20 14:10

相关推荐

  • 如何查看Anaconda中Python路径

    对Anaconda中Python路径即conda环境的查看进行详细的阐述。 一、使用命令行查看 1、在Windows系统中,可以使用命令提示符(cmd)或者Anaconda Pro…

    编程 2025-04-29
  • 如何在PyCharm中安装OpenCV?

    本文将从以下几个方面详细介绍如何在PyCharm中安装OpenCV。 一、安装Python 在安装OpenCV之前,请确保已经安装了Python。 如果您还没有安装Python,可…

    编程 2025-04-29
  • Python OpenCV 直线检测

    本文将介绍在Python OpenCV中进行直线检测的方法,主要涉及到图像的边缘检测、霍夫变换和绘制直线等操作。 一、边缘检测 由于直线检测是从图像的边缘开始的,因此必须先找到图像…

    编程 2025-04-29
  • Python教学圈:优秀教学资源都在这里

    Python是一门优秀、易学、易用的编程语言,越来越多人开始学习和使用它,Python教学圈的重要性也越来越大。Python教学圈提供了许多优秀的教学和学习资源,为初学者和专业开发…

    编程 2025-04-29
  • 优秀周记1000字的撰写思路与技巧

    优秀周记是每个编程开发工程师记录自己工作生活的最佳方式之一。本篇文章将从周记的重要性、撰写思路、撰写技巧以及周记的示例代码等角度进行阐述。 一、周记的重要性 作为一名编程开发工程师…

    编程 2025-04-28
  • Opencv 实现读取 BMP 图片

    Opencv 是一个基于 C/C++ 语言的开源计算机视觉库,可以用于图像处理、特征识别、目标跟踪、机器学习等领域。在图像处理中,读取 BMP 图片是常见操作之一。 一、打开 BM…

    编程 2025-04-27
  • ABCNet_v2——优秀的神经网络模型

    ABCNet_v2是一个出色的神经网络模型,它可以高效地完成许多复杂的任务,包括图像识别、语言处理和机器翻译等。它的性能比许多常规模型更加优越,已经被广泛地应用于各种领域。 一、结…

    编程 2025-04-27
  • Anaconda Python – 多面手的全能编程开发工具

    Anaconda Python是一个全能的编程开发工具,它集成了多种Python数据科学和机器学习库以及其他工具。在这篇文章中,我们将从多个方面对Anaconda Python进行…

    编程 2025-04-27
  • opencv鼠标绘图

    本文将为您详细介绍如何使用opencv在原始图片上进行鼠标绘图。 一、准备工作 在开始绘制之前,您需要先准备好以下的工作: 1、安装opencv库,可以通过pip install …

    编程 2025-04-27
  • 深入探讨OpenCV版本

    OpenCV是一个用于计算机视觉应用程序的开源库。它是由英特尔公司创建的,现已由Willow Garage管理。OpenCV旨在提供一个易于使用的计算机视觉和机器学习基础架构,以实…

    编程 2025-04-25

发表回复

登录后才能评论