小编Jer*_*emy的帖子

我怎么能根据图像中的蛇纹来对坐标进行排序?

在下面的二进制图像中,

在此输入图像描述

我已经能够得到值为1 的坐标列表.

坐标从左到右存储.

问题: 我怎样才能对坐标列表进行排序,使它们一个接一个地出现,并且它们遵循这条蛇形路径?

源代码:

from __future__ import division
import numpy as np

import cv2



from skimage.morphology import skeletonize, skeletonize_3d, medial_axis
diff = cv2.imread('img.png', 0)   
diff = diff.astype('uint8')

ret, thresh = cv2.threshold(diff, 1, 255, cv2.THRESH_BINARY)
thresh = cv2.dilate(thresh, None, iterations = 1)



sk = skeletonize_3d(thresh)


pixels = np.argwhere(sk==255)
pixels = np.asarray(pixels)

y = pixels[:,0]
x = pixels[:,1]

L = (x, y) # Question: How can I sort L?

np.savetxt("C:/test.csv", np.c_[L], delimiter = ',', fmt='%f')
Run Code Online (Sandbox Code Playgroud)

知道我怎么可能这样做并按照蛇纹排序L?

python sorting opencv scikit-learn scikit-image

5
推荐指数
1
解决办法
245
查看次数

OpenCV 中 Trackbar 的负值范围

我试图在 cv2.createTrackbar 的 Trackbar 范围内包含负值。但每次运行脚本时,都不会考虑负值。

我怎样才能包含负值?

import cv2
import numpy as np
from cv2 import CV_WINDOW_AUTOSIZE

def nothing(x):
   pass

cv2.namedWindow('image', flags = CV_WINDOW_AUTOSIZE)

cv2.createTrackbar('val1','image',-50,500, nothing)
Run Code Online (Sandbox Code Playgroud)

这将从 0 重置为 500,而不是停留在 -50。我怎样才能将其保持在-50到500之间?

python opencv trackbar

5
推荐指数
1
解决办法
3934
查看次数

Opencv:为什么在不进行任何更改的情况下读取和写入图像时文件大小会发生变化?

我有一个(.TIFF)文件列表,我正在重命名并以相同的格式保存.我正在使用cv2模块来做到这一点.

import cv2
import os
import glob

os.chdir('C:/99_Temp/')

for file in glob.glob("*.tiff"):
   f = os.path.splitext(file)
   time_val = f[0][:2]
   a1 = cv2.imread(file)
   cv2.imwrite(time_val+'.tiff',a1)
Run Code Online (Sandbox Code Playgroud)

为什么文件大小会从原始TIFF文件中减少?我没有做任何处理,视觉上图像看起来一样.但我想知道,为什么区别?

在此输入图像描述

python opencv tiff glob filesize

2
推荐指数
1
解决办法
427
查看次数

排序坐标并保持最低值

对于下面的数组,我有兴趣根据y轴对X轴进行排序,并记录最低X值的最低元组.

该数组是:

A = [(537, 14),
     (537, 12),
     (538, 13),
     (538, 14), # (538, 14) should be removed and (537, 14) should be kept
     (539, 12),
     (709, 9)]
Run Code Online (Sandbox Code Playgroud)

我会这样做:

New_A = [(537, 14),
         (537, 12),
         (538, 13), 
         (539, 12),
         (709, 9)]
Run Code Online (Sandbox Code Playgroud)

我可以在这尝试什么?

python arrays sorting matrix coordinates

-1
推荐指数
1
解决办法
55
查看次数