主页 > 知识库 > opencv实现回形遍历像素算法

opencv实现回形遍历像素算法

热门标签:北京外呼电销机器人招商 crm电销机器人 南京crm外呼系统排名 电销机器人 金伦通信 宾馆能在百度地图标注吗 汕头电商外呼系统供应商 云南地图标注 400电话 申请 条件 郑州智能外呼系统中心

本文实例为大家分享了opencv实现回形遍历像素算法的具体代码,供大家参考,具体内容如下

代码实现

# -*- coding:utf-8 -*-
import cv2
import numpy as np
 
cv2.namedWindow('img', 0)
 
 
def traversePixelByCycloidLine(image):
 """
 从一副灰度图像的中心开始向边缘按回形线的方式遍历所有像素,每个像素只能访问一次。
 我目前实现了基本的算法, 但存在以下问题:
 1) 只支持方阵, 且行列为奇数
 2) 只实现, 代码没整理
 """
 
 h, w = image.shape[:2]
 
 assert h == w and h % 2 == 1, '只支持方阵, 且行列为奇数'
 
 center_x, center_y = [w // 2, h // 2]
 
 traverse_num = h * w
 
 cycloid_num = 0
 value = 1
 while True:
 
  for i in range(cycloid_num * 2 + 1):
   if value >= traverse_num:
    return image
   center_x = center_x + 1
   image[center_y, center_x] = 255
   value += 1
   cv2.imshow('img', image)
   cv2.waitKey(33)
 
  for i in range(cycloid_num * 2 + 1):
   if value >= traverse_num:
    return image
   center_y = center_y + 1
   image[center_y, center_x] = 255
   value += 1
   cv2.imshow('img', image)
   cv2.waitKey(33)
 
  for i in range(cycloid_num * 2 + 2):
   if value >= traverse_num:
    return image
   center_x = center_x - 1
   image[center_y, center_x] = 255
   value += 1
   cv2.imshow('img', image)
   cv2.waitKey(33)
 
  for i in range(cycloid_num * 2 + 2):
   if value >= traverse_num:
    return image
   center_y = center_y - 1
   image[center_y, center_x] = 255
   value += 1
   cv2.imshow('img', image)
   cv2.waitKey(33)
  cycloid_num += 1
 
 
image_wh = 11
 
while True:
 image = np.zeros((image_wh, image_wh, 3), dtype=np.uint8)
 traversePixelByCycloidLine(image)

效果展示

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
  • python3实现二叉树的遍历与递归算法解析(小结)
  • Python数据结构与算法之二叉树结构定义与遍历方法详解
  • Python二叉树的定义及常用遍历算法分析
  • Python算法之图的遍历
  • python实现的二叉树定义与遍历算法实例

标签:怀化 昆明 西宁 文山 浙江 梅州 锡林郭勒盟 石家庄

巨人网络通讯声明:本文标题《opencv实现回形遍历像素算法》,本文关键词  opencv,实现,回形,遍历,像素,;如发现本文内容存在版权问题,烦请提供相关信息告之我们,我们将及时沟通与处理。本站内容系统采集于网络,涉及言论、版权与本站无关。
  • 相关文章
  • 下面列出与本文章《opencv实现回形遍历像素算法》相关的同类信息!
  • 本页收集关于opencv实现回形遍历像素算法的相关信息资讯供网民参考!
  • 企业400电话

    智能AI客服机器人
    15000

    在线订购

    合计11份范本:公司章程+合伙协议+出资协议+合作协议+股权转让协议+增资扩股协议+股权激励+股东会决议+董事会决议

    推荐文章