• Python OpenCV 实现图片投影


    一、实验目的

    通过OpenCV第四次进行实验,对图片进行投影。

    二、实验内容

    对图片进行投影。

    三、实验过程

    我使用的是python语言+openCV来实现图片投影的功能。使用的测试图片如下:

     

    3.1测试图片

     

    使用imread()函数读取图片,imshow()函数显示图片,waitKey()函数含义为按下任意键继续;

    实例代码:

    #灰度化读取图片

    img = cv2.imread('123.jpg', cv2.COLOR_BGR2GRAY)

    cv2.imshow("img",img)

    cv2.waitKey(0)

     

    3.2读取的图片

     

    二值化代码:

    (_, thresh) = cv2.threshold(img, 150, 255, cv2.THRESH_BINARY)

    closed = cv2.erode(thresh, None, iterations = 5)

    cv2.imshow('img',closed)

    height, width = closed.shape[:2]

    v = [0]*width

    z = [0]*height

    a = 0

    垂直投影代码:

    #垂直投影

    #统计并存储每一列的黑点数

    for x in range(0, width):               

        for y in range(0, height):

            if closed[y,x][0] == 0:

                a = a + 1

            else :

                continue

        v[x] = a

        a = 0

    l = len(v)

    #创建空白图片,绘制垂直投影图

    emptyImage = numpy.zeros((height, width, 3), numpy.uint8)

    for x in range(0,width):

        for y in range(0, v[x]):

            b = (255,255,255)

            emptyImage[y,x] = b

    cv2.imshow('chuizhi', emptyImage)

     

    3.2垂直投影图

    水平投影代码:

    #水平投影

    #统计每一行的黑点数

    a = 0

    emptyImage1 = numpy.zeros((height, width, 3), numpy.uint8)

    for y in range(0, height):

        for x in range(0, width):

            if closed[y,x][0] == 0:

                a = a + 1

            else :

                continue

        z[y] = a

        a = 0

    l = len(z)

    #绘制水平投影图

    for y in range(0,height):

        for x in range(0, z[y]):

            b = (255,255,255)

            emptyImage1[y,x] = b

    cv2.imshow('shuiping', emptyImage1)

    cv2.waitKey(0)

     

    3.4水平投影图

    四、实验总结

    学习了OpenCV的图片投影一功能,途中未遇到问题,但是本学期学的是Python,我就在网上找的例子分析代码,也是很快就用Python的代码做出来了此题,锻炼了自己的能力。

  • 相关阅读:
    python 汇总
    python 异常处理、文件常用操作
    python类中super()和__init__()的区别
    百度搜索结果爬虫
    BS4爬虫实例应用-CISP
    Java类WebServer及中间件拿webshell方法总结
    建模分析之机器学习算法(附python&R代码)
    [原创]代理转发工具汇总分析
    代码审计之文件操作
    PHP自带防SQL攻击函数区别
  • 原文地址:https://www.cnblogs.com/CJR-QYF/p/12461768.html
Copyright © 2020-2023  润新知