小编dan*_*iel的帖子

如何处理:ImportError:/usr/lib/x86_64-linux-gnu/libatk-1.0.so.0:未定义的符号:g_log_structured_standard

我有一个macbook pro安装了virtualbox,安装了anaconda(来自https://www.continuum.io),并安装了openCV(conda install -c menpo opencv)

执行python:

python
Python 2.7.14 |Anaconda, Inc.| (default, Dec  7 2017, 17:05:42) 
[GCC 7.2.0] on linux2
Run Code Online (Sandbox Code Playgroud)

并尝试导入openCV:

>>> import cv2
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: /usr/lib/x86_64-linux-gnu/libatk-1.0.so.0: undefined symbol: g_log_structured_standard
Run Code Online (Sandbox Code Playgroud)

我搜索了这个错误,但没有多少关于这个的条目,我找到的那些都没有解决.

我甚至不明白什么是错误,所以不知道如何解决它.

我已经在其他系统中多次安装Anaconda和opencv而没有任何问题.

不知道如何解决这个错误?

python error-handling opencv

10
推荐指数
2
解决办法
4343
查看次数

cv2.connectedComponents未检测到组件

我在Ubuntu,python 2.7.使用OpenCV.

我试图准确理解cv2.connectedComponents正在做什么.这是图像:

在此输入图像描述

代码:

import cv2
import numpy as np

img = cv2.imread('BN.tif', 0)

img = np.uint8(img)
_, markers = cv2.connectedComponents(img)
Run Code Online (Sandbox Code Playgroud)

根据我的理解,这个功能创建了一个与提供的图像大小相同的数组.对于检测到的每个组件,为该组件的所有(y,x)位置分配相同的编号.如果背景全部为"0",那么圆圈将全部为"1",下一个方格全部为"2",等等.最后一个组件应为全"19".我通过获取定义组件的最高数字来读取组件的数量:

np.amax(markers)
Run Code Online (Sandbox Code Playgroud)

我应该得到19,但我得到1.

我的问题:为什么我只得到一个组件?

opencv

7
推荐指数
1
解决办法
6015
查看次数

在Ubuntu 16上安装openCV时如何在cmake中包含libgtk2.0-dev和pkg-config

我知道有许多有关如何安装OpenCV-Python的主题。我遍历了很多,他们帮助我解决了在Ubuntu上安装openCV-python的一些问题

我设法安装了openCV,但无法正常工作。当我尝试运行时:

import numpy
import cv2
img= cv2.imread('image.png',0)
cv2.imshow('image',img)
Run Code Online (Sandbox Code Playgroud)

我得到一个错误

错误:/io/opencv/modules/highui/src/window.cpp:583:错误:(-2)功能未实现。在Windows,GTK + 2.x或Carbon支持下重建了库。如果您使用的是Ubuntu或Debian,请安装libgtk2.0-dev和pkg-config,然后重新运行cmake或在函数cvSowImage中配置脚本

我怎么做?我怀疑我应该重复cmake并以某种方式在其上包括这两个库,但是如何?

编辑2017年3月19日, 我遵循以下指示:

http://milq.github.io/install-opencv-ubuntu-debian/

http://www.pyimagesearch.com/2016/10/24/ubuntu-16-04-how-to-install-opencv/

来自:

http://docs.opencv.org/trunk/d7/d9f/tutorial_linux_install.html

每当我的脚本包括(我从IDLE运行)时:

cv2.imshow('image',img

我收到了相同的错误消息:

Traceback (most recent call last):

      File "/home/dcanals/Documents/test.py", line 5, in <module>
        cv2.imshow('image',img)
    error: /io/opencv/modules/highgui/src/window.cpp:583: error: (-2) The function is not implemented. Rebuild the library with Windows, GTK+ 2.x or Carbon support. If you are on Ubuntu or Debian, install libgtk2.0-dev and pkg-config, then re-run cmake or configure script in function cvShowImage
Run Code Online (Sandbox Code Playgroud)

我不明白发生了什么。我只是想让openCV开始学习此软件包。我安装了libgtk2和pkg-config。我按照说明进行操作。为什么不起作用?我现在应该怎么做才能使python-openCV工作呢?谢谢

编辑2017年3月21日

我编辑这篇文章是因为我认为我在以下地方找到了非常重要的文档:https …

python opencv

5
推荐指数
4
解决办法
2万
查看次数

带有误差线的 Python matplotlib 3D 条形图

我正在尝试获取带有误差条的 3D 条形图。我愿意使用 matplotlib、seaborn 或任何其他 python 库或工具

在 SO 中搜索,我发现 3D 条形图可以通过绘制几个 2D 图(例如此处)来完成。这是我的代码:

import pandas as pd
import matplotlib.pyplot as plt
import numpy as np
from mpl_toolkits.mplot3d import Axes3D


dades01 = [54,43,24,104,32,63,57,14,32,12]
dades02 = [35,23,14,54,24,33,43,55,23,11]
dades03 = [12,65,24,32,13,54,23,32,12,43]

df_3d = pd.DataFrame([dades01, dades02, dades03]).transpose()
colors = ['r','b','g','y','b','p']


fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
z= list(df_3d)
for n, i in enumerate(df_3d):
    print 'n',n
    xs = np.arange(len(df_3d[i]))
    ys = [i for i in df_3d[i]]
    zs = z[n]

    cs = …
Run Code Online (Sandbox Code Playgroud)

python matplotlib

3
推荐指数
1
解决办法
2559
查看次数

将 png 图像传递给 numpy 数组,最后一维的第 4 列是什么?

我将 png 图像导出到 python numpy 数组。

import numpy
import Image
import matplotlib.pyplot as plt
 Im=Image.opne('file.png')
 arr=numpy.array(Im).reshape(Im.size[1],Im.size[0],4)
plt.imshow(arr)
plt.show()
Run Code Online (Sandbox Code Playgroud)

现在,在书中,我发现使用 3 个通道重塑 png,这对我不起作用。我不得不使用 4。

>>> Im.shape
(401, 601, 4)
Run Code Online (Sandbox Code Playgroud)

我可以想象红色通道:

ImR=Im[:,:,0]
Run Code Online (Sandbox Code Playgroud)

绿色和蓝色类似。最后一个给我一个白屏。

我设法删除它:

Im4=Im[:,:,:-1]
Run Code Online (Sandbox Code Playgroud)

现在:

>>> Im4.shape
(401, 601, 3)
Run Code Online (Sandbox Code Playgroud)

我可以像在删除第 4 列之前一样将图像可视化

我的问题是:PNG 中的第 4 列是什么?

python arrays png numpy

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

切片以更改 numpy.array 图像上的像素颜色

在上一个问题中,我询问如何使用 opencv (BGR 格式)更改上传到 numpy.array 的图像的颜色。目标是将任何小于 255 的红色通道值转换为 255。

如果满足条件,如何优化更改 3d numpy.array 的值

最好的答案是:

img[img[:, :, 2] < 255] = 255
Run Code Online (Sandbox Code Playgroud)

关键是我不明白发生了什么(这是一个不同的问题,因为前一个问题得到了完美的回答)。我理解这部分:

img[:, :, 2] < 255
Run Code Online (Sandbox Code Playgroud)

正在对红色通道上的 y、x 像素进行切片并与 255 值进行比较。

但是,我不明白为什么它嵌入到另一个数组中:

img[...] = 255 
Run Code Online (Sandbox Code Playgroud)

这必须读成类似:if (img[:, :, 2] < 255) then make this Pixel-red Channel=255但我不知道如何读取代码行以使其听起来像这样。

谁能非常清楚地解释一下这段代码行,以便我可以修改用于其他目的?写的时候应该怎样读呢?

python arrays numpy

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

如何制作重叠的 matplotlib.pyplot 子图?

我正在学习如何使用子图。例如:

import numpy
import matplotlib.pyplot as plt

plt.figure(1)
plt.subplot(221)
plt.subplot(222)
plt.subplot(223)

plt.show()

plt.close(1)
Run Code Online (Sandbox Code Playgroud)

我在图 1 中得到 3 个子图

现在我想用第一个中的其他子图制作一个大的子图。我试过:

plt.figure(1)
plt.subplot(111)
plt.subplot(222)
plt.subplot(223)
Run Code Online (Sandbox Code Playgroud)

但是第一个子情节消失了。

我的问题:是否可以重叠子图?

谢谢你

python matplotlib

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

如何在 python 中重新创建虚拟环境

我已经在 Ubuntu 16.04 上安装了 virtualenv 和 virtualenvwrapper 我创建了一个名为 env1 的环境

$ sudo apt-get install python-pip
$ pip install virtualenv
$ pip install --upgrade pip 
$ pip install virtualenvwrapper
$ export WORKON_HOME=~/Envs
$ mkdir -p $WORKON_HOME
$ source /usr/local/bin/virtualenvwrapper.sh
$ mkvirtualenv env1
Run Code Online (Sandbox Code Playgroud)

进入 (env1) 后,我已经安装了几个软件包

(env1) $ pip install numpy
(env1) $ pip install scipy
(env1) $ pip install matplotlib
(env1) $ apt-get install python-tk
Run Code Online (Sandbox Code Playgroud)

我还安装了opencv3(我没有复制如何安装,因为太长了)

我正在将 env1 用于特定项目。

现在我想使用相同的包启动另一个项目,但我还想添加其他包。

我已经创建了 env2,我想知道是否可以将 env1 复制到 env2,而不需要从头开始重新安装所有内容。

python virtualenv

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

标签 统计

python ×7

opencv ×3

arrays ×2

matplotlib ×2

numpy ×2

error-handling ×1

png ×1

virtualenv ×1