opencv实现回形遍历像素算法

作者:ancy_i_cv 时间:2021-12-26 01:49:30 

本文实例为大家分享了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)

效果展示

opencv实现回形遍历像素算法

来源:https://blog.csdn.net/u014072827/article/details/114373552

标签:opencv,遍历,算法
0
投稿

猜你喜欢

  • Jquery多选下拉列表插件jquery multiselect功能介绍及使用

    2024-04-22 12:59:41
  • 极致之美——百行代码实现全新智能语言Lisp

    2010-07-13 13:07:00
  • Python命名空间与作用域深入全面详解

    2022-03-07 08:36:10
  • python解析xml文件实例分析

    2021-02-17 03:25:18
  • Django rest framework工具包简单用法示例

    2022-05-17 12:00:21
  • DIV+CSS设计时容易犯的一些错误

    2007-11-13 12:42:00
  • 详解Python字符串原理与使用的深度总结

    2021-09-17 17:31:14
  • vue中的 $slot 获取插槽的节点实例

    2024-04-30 10:26:58
  • Tensorflow2.4从头训练Word Embedding实现文本分类

    2023-05-22 20:03:17
  • 解决Pandas的DataFrame输出截断和省略的问题

    2021-10-28 10:22:19
  • django ListView的使用 ListView中获取url中的参数值方式

    2022-06-17 10:41:57
  • 开源MySQL公司停止提供企业版源代码tar包

    2009-01-14 13:02:00
  • Python实现字符串模糊匹配方式

    2023-11-10 09:30:35
  • 将ASP纪录集输出成n列表格的方法

    2008-03-19 13:27:00
  • 不到20行实现Python代码即可制作精美证件照

    2021-08-29 09:27:43
  • 浅谈图像处理中掩膜(mask)的意义

    2021-03-17 01:48:50
  • .Net Core服务治理Consul使用服务发现

    2023-06-25 07:49:19
  • ACCESS入门教程:用向导建立数据库

    2008-01-17 12:46:00
  • python简单实现图片文字分割

    2023-07-31 23:36:24
  • 将mysql转换到oracle必须了解的50件事

    2010-07-05 12:15:00
  • asp之家 网络编程 m.aspxhome.com