【数字图像处理】Visual Studio Code & Python & Opencv查找地图圆形轮廓、标记、分离

实验要求

用Opencv标记地图中的圆形区域、分离区域
在这里插入图片描述

实验环境

Visual Studio Code、Python(我们这里使用版本3.8.0)、Opencv(我们这里使用版本3.4.8.29)

实验步骤

一、安装Python

1.在官网https://www.python.org/下载Python(进入官网后按图示步骤操作)(所有的下载最好都在白天完成,晚上服务器可能限制访问报错)
安装Python
在这里插入图片描述
安装Python
anzhuang
在这里插入图片描述
2.安装中
在这里插入图片描述
在这里插入图片描述

二、配置环境变量

1.在桌面按下windows键,输入“编辑系统环境变量”,进入编辑环境变量
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
2.添加环境(就是把你安装Python路径添加进来,这里还要在这个路径后面加 \Scripts 再添加一次):

第一个:C:\Users\CORDI\AppData\Local\Programs\Python\Python38(填你自己记住的Python安装路径)

第二个:C:\Users\CORDI\AppData\Local\Programs\Python\Python38\Scripts
在这里插入图片描述
三、配置Opencv

1.按windows+R打开“运行”窗口,输入 cmd 点击确定,然后输入 pip install opencv-python==3.4.8.29 回车开始下载,下载进程会比较缓慢,要耐心等待(说明一下:这里双等于号后面的3.4.8.29是opencv版本,可以按自己需求输入合适的版本号进行下载的,本文的实例需要用到3.4.8.29,我就下载它了)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

这里注意一下

如果命令行下载opencv时出现这个升级提示,升级了再输入pip install opencv-python==3.4.8.29继续下载opencv即可
在这里插入图片描述
在这里插入图片描述
四、下载安装配置VS Code

1.进入官网https://code.visualstudio.com/下载VS Code安装包
在这里插入图片描述
2.下载好后双击开始安装,然后和安装普通软件一样安装就行了
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
3.新建好文件后,打开“调试”,点击“添加配置”,在下拉列表中点击“Python”,继续点击“Python File”,添加一行 “pythonPath”: “C:\Users\CORDI\AppData\Local\Programs\Python\Python38\python.exe”, 然后按Ctrl+S保存在这里插入图片描述
在这里插入图片描述
4.点击菜单栏中的“查看”,选择“终端”,在窗口输入 pip install matplotlib 回车运行等待下载完成
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

代码清单
#----------------------------【Specification】----------------------------
#  Coding: UTF-8
#  程序名称:【Opencv查找地图圆形轮廓、标记、分离】
#  IDE:Visual Studio Code
#  Python版本:3.8
#  OpenCV版本:3.4.8.29
#  2019年12月8日 CREATED BY 一箭双雕
#-------------------------------------------------------------------------
import cv2
import matplotlib.pyplot as plt
import copy


class Processor(object):
    def __init__(self, image_full_path):
        self._image_full_path = image_full_path

    def run(self):
        image = cv2.imread(self._image_full_path, cv2.IMREAD_COLOR)
        gray_image = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
        ret, mask = cv2.threshold(gray_image, 160, 255, cv2.THRESH_BINARY)
        binary, contours, hierarchy = cv2.findContours(mask, cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE)
        segmentation = copy.deepcopy(image)
        segmentation *= 0

        roi = list()
        for i, contour in enumerate(contours):
            area = cv2.contourArea(contour)
            if area < 16:
                continue

            (x, y), radius = cv2.minEnclosingCircle(contour)
            if radius > 16 or (143 < x < 181 and 189 < y < 300) or (x > 318 and y > 187):
                continue

            roi.append(contour)
            image = cv2.circle(image, (int(x), int(y)), int(radius), (255, 0, 0), 2)
            segmentation = cv2.circle(segmentation, (int(x), int(y)), int(radius), (255, 255, 255), -1)

        plt.figure(1)
        plt.imshow(image)
        plt.show()

        plt.figure(2)
        plt.imshow(segmentation)
        plt.show()


if __name__ == '__main__':
    processor = Processor('./test.jpg')
    processor.run()


5.接下来开始调试运行
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
6.大功告成截图:
在这里插入图片描述
在这里插入图片描述
补充一下:如果用pip install opencv-python==3.4.8.29安装的opencv,在编译的时候报错出现了ImportError: No module named cv2,没有找到cv2的模块。可以去opencv官网下载opencv,然后将openCV安装目录里的python\cv2\python-2.7目录下的cv2.pyd复制到Python安装目录里Lib中site-packages内即可解决。如图操作:
在这里插入图片描述
在这里插入图片描述

实验心得

把FAST的rap唱给我听,我替你写心得!

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值