小编bat*_*ike的帖子

使 2D 图像的 3D 图形相互“投影信息”

有没有办法在 3-D 等距视图中制作一个 z-stack 2-D 图像,每个 2-D 图像中的点向下投影到下一个 2-D 图像切片?我确信这有一个技术术语,但我只是没有词汇来找到最相关的答案。有人能指出我正确的方向吗?

下面,我已经绘制了一个关于它是什么样子的“想法”。我很想知道这是否可行,而无需为matplotlib其他 Python 绘图库重新发明轮子。

在此处输入图片说明

data-visualization matplotlib plotly seaborn

8
推荐指数
1
解决办法
138
查看次数

提高 OpenCV Python 中 findContour 的准确性

我正在尝试将最小边界框适合下面显示的每个“斑点”。作为图像处理管道的一部分,我使用 findContours 来检测数据中的轮廓,然后在给定一组已发现的轮廓的情况下绘制最小边界框。

最小边界框不是很准确——一些特征显然被遗漏了,而另一些特征则不能完全“封装”一个全连接的特征(而是被分割成几个小的最小边界框)。我玩过检索模式(如下所示的 RETR_TREE)和轮廓近似方法(如下所示的 CHAIN_APPROX_TC89_L1),但找不到我真正喜欢的东西。有人可以建议一种更强大的策略来使用 OpenCV Python 更准确地捕获这些轮廓吗?

图 1 图 2

import numpy as np
import cv2

# load image from series of frames
for x in range(1, 20):
    convolved = cv2.imread(x.jpg)
    original = convolved.copy

    #convert to grayscale   
    gray = cv2.cvtColor(convolved, cv2.COLOR_BGR2GRAY)

    #find all contours in given frame, store in array
    contours, hierarchy = cv2.findContours(gray,cv2.RETR_TREE, cv2.CHAIN_APPROX_TC89_L1)
    boxArea = []

    #draw minimum bounding box around each discovered contour
    for cnt in contours:
        area = cv2.contourArea(cnt)
        if area > 2 …
Run Code Online (Sandbox Code Playgroud)

python opencv computer-vision image-segmentation opencv-contour

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

如何使用skimage(Python)实际保存图像

我目前正在应用Zhang-Suen细化算法来研究我想要稍后跟踪的一些细丝.这需要我输出灰度图像以便使用OpenCV识别对象.

import matplotlib
import matplotlib.pyplot as plt
import skimage.io as io
"load image data"
Img_Original =  io.imread( './data/test1.bmp')      # Gray image, rgb images   need pre-conversion

"Convert gray images to binary images using Otsu's method"
from skimage.filter import threshold_otsu
Otsu_Threshold = threshold_otsu(Img_Original)   
BW_Original = Img_Original < Otsu_Threshold    # must set object region as 1, background region as 0 !

#...
"Apply the algorithm on images"
BW_Skeleton = zhangSuen(BW_Original)
# BW_Skeleton = BW_Original
"Display the results"
fig, ax = plt.subplots(1, …
Run Code Online (Sandbox Code Playgroud)

python opencv image image-processing matplotlib

4
推荐指数
1
解决办法
6662
查看次数

数据帧行的快速笛卡尔总和

我在 3 轴 (x, y, z) 中有两个错误数据帧:

df1 = pd.DataFrame([[0, 1, 2], [-1, 0, 1], [-2, 0, 3]], columns = ['x', 'y', 'z'])
df2 = pd.DataFrame([[1, 1, 3], [1, 0, 2], [1, 0, 3]], columns = ['x', 'y', 'z'])
Run Code Online (Sandbox Code Playgroud)

我正在寻找一种快速的方法来找到两个数据帧的每一行的平方的笛卡尔和。

编辑我目前的解决方案:

cartesian_sum = list(np.sum(list(tup), axis = 0).tolist() 
                    for tup in itertools.product( (df1**2).to_numpy().tolist(),
                                                  (df2**2).to_numpy().tolist() ) )

cartesian_sum
>>> 
[[1, 2, 13],
 [1, 1, 8],
 [1, 1, 13],
 [2, 1, 10],
 [2, 0, 5],
 [2, 0, 10],
 [5, 1, 18],
 [5, …
Run Code Online (Sandbox Code Playgroud)

python scipy python-itertools dataframe pandas

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