小编Abd*_*tir的帖子

创建包含文件的每一行的列表

我正在尝试打开一个文件并创建一个列表,其中每行都从文件中读取.

   i=0
   List=[""]
   for Line in inFile:
      List[i]=Line.split(",")
      i+=1
   print List
Run Code Online (Sandbox Code Playgroud)

但是这个示例代码因为这样的i+=1说法而给我一个错误index is out of range.这是我的问题?如何编写代码以便使用InFile中的每个新行增加列表?

python

36
推荐指数
4
解决办法
10万
查看次数

平滑二进制图像的边缘

如何平滑阈值化后获得的血管二元图像的边缘.

在此输入图像描述

我尝试了一种类似于这种方法的方法,但没有得到我预期的结果.

在此输入图像描述

这是代码:

import cv2
import numpy as np

INPUT = cv2.imread('so-br-in.png',0)
MASK = np.array(INPUT/255.0, dtype='float32')

MASK = cv2.GaussianBlur(MASK, (5,5), 11)
BG = np.ones([INPUT.shape[0], INPUT.shape[1], 1], dtype='uint8')*255

OUT_F = np.ones([INPUT.shape[0], INPUT.shape[1], 1],dtype='uint8')

for r in range(INPUT.shape[0]):
    for c in range(INPUT.shape[1]):
        OUT_F[r][c]  = int(BG[r][c]*(MASK[r][c]) + INPUT[r][c]*(1-MASK[r][c]))

cv2.imwrite('brain-out.png', OUT_F)  
Run Code Online (Sandbox Code Playgroud)

可以做些什么来改善这些粗糙边缘的平滑度?

编辑

我想像http://pscs5.tumblr.com/post/60284570543那样平滑边缘.如何在OpenCV中执行此操作?

python opencv image-processing blur smoothing

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

minAreaRect OpenCV [Python]返回的裁剪矩形

minAreaRect在OpenCV中返回一个旋转的矩形.如何裁剪矩形内部的图像部分?

boxPoints 返回旋转矩形的角点的坐标,这样可以通过循环框内的点来访问像素,但是有更快的方法在Python中裁剪吗?

编辑

请参阅code下面的答案.

python opencv image image-processing

10
推荐指数
4
解决办法
3万
查看次数

为Julia集生成自定义调色板

我需要一种算法或方法来生成调色板以着色朱莉娅设置图像.当使用转义时间算法生成图像时,我举例说明如下图:

但是,我需要一些方法来生成像维基百科页面自定义调色板:

如何获得与此类似的图像?另外,Julia集应该使用什么颜色的平滑算法?

以下是澄清的代码段:

int max_iter = 256;
ComplexNumber constant = new ComplexNumber(cReal,cImag);
float Saturation = 1f;
    for(int X=0; X<WIDTH; X++)
    {
        for(int Y=0; Y<HEIGHT; Y++)
        {
            ComplexNumber oldz = new ComplexNumber();
            ComplexNumber newz = new ComplexNumber(2.0*(X-WIDTH/2)/(WIDTH/2), 1.33*(Y-HEIGHT/2)/(HEIGHT/2) );
            int i;
            for(i=0;i<max_iter; i++)
            {
                oldz = newz;
                newz = newz.square();
                newz.add(constant);
                if(newz.mod() > 2)
                    break;
            }
            float Brightness = i < max_iter ? 1f : 0;
            float Hue = (i%256)/255.0f;
            Color color = Color.getHSBColor((float)Hue, Saturation, Brightness); …
Run Code Online (Sandbox Code Playgroud)

java algorithm colors image-processing fractals

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

将Numpy阵列中的一个通道广播为三个通道

我有一个RGB图像img,其是形状(2560L, 1920L, 3L)和另一单信道的图像mask,其是形状(2560L, 1920L).现在,我想制作这种mask形状,(2560L, 1920L, 3L)即我想将这个单通道数据复制到所有三个通道中.

我这样做如下.

np.array([[[j,j,j] for j in i] for i in mask])
Run Code Online (Sandbox Code Playgroud)

有没有更快的方法来使用numpy

python arrays numpy

8
推荐指数
3
解决办法
6495
查看次数

令人困惑的np.random.multivariate_normal行为

我使用numpy从多变量法线中采样,如下所示.

mu = [0, 0]
cov = np.array([[1, 0.5], [0.5, 1]]).astype(np.float32)
np.random.multivariate_normal(mu, cov)
Run Code Online (Sandbox Code Playgroud)

它给了我以下警告.

运行时警告:协方差不是正的 - 半定的.

矩阵显然是PSD.但是,当我使用np.float64数组时,它工作正常.我需要协方差矩阵为np.float32.我究竟做错了什么?

python numpy

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

即使在设置launchMode ="singleTop"后仍在重新创建活动

我使用自定义方案为Fitbit实现OAuth,为此我需要Activity在用户登录默认浏览器后从堆栈顶部使用调用实例,并重定向到CALLBACK URL.而不是onNewIntent()被称为,Activity只是重新创建,这不是我需要的.

<activity
        android:name=".AppsAndDevicesActivity"
        android:launchMode="singleTop">
        <intent-filter>
            <action android:name="android.intent.action.VIEW"/>
            <category android:name="android.intent.category.DEFAULT"/>
            <category android:name="android.intent.category.BROWSABLE"/>
            <data android:scheme="snbr" />
        </intent-filter>
    </activity>  
Run Code Online (Sandbox Code Playgroud)

我正在使用以下代码从Fragment打开浏览器:

String url = Fitbit.buildAuthenticationURL();
Log.d("URL", url);
Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
this.getActivity().startActivity(browserIntent);
Run Code Online (Sandbox Code Playgroud)

android android-manifest android-intent android-fragments android-activity

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

HOG特征向量中的维数减少

我在MATLAB中找到了下图的HOG特征向量.

输入图像

我使用了以下代码.

I = imread('input.jpg');
I = rgb2gray(I);
[features, visualization] = extractHOGFeatures(I,'CellSize',[16 16]);  
Run Code Online (Sandbox Code Playgroud)

features出来是一个1x1944向量,我需要减少这个向量的维数(比方说1x100),我应该采用什么方法?

我想到了主成分分析,并在MATLAB中运行了以下内容.

prinvec = pca(features);  
Run Code Online (Sandbox Code Playgroud)

prinvec出来是一个空矩阵(1944x0).我做错了吗?如果不是PCA,我可以使用哪些其他方法来减小尺寸?

matlab machine-learning computer-vision pca

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

读取和写入大图像

我需要逐像素读取和写入图像(我正在生成分形)。当我尝试使用图像大小时,我意识到当图像大小很大(例如 24000x18000)时写入图像BufferedImage会导致OutOfMemoryError. 为了解决这个问题,我曾经-Xmx -Xms增加堆大小。

有没有一种方法可以按像素写入图像,而无需将整个图像加载到内存中?读取(和修改)大图像也是如此。

编辑

我从左到右、从上到下逐个像素地进行操作。

java bufferedimage image out-of-memory

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

执行Monadic计算N次

我正在实现一个函数来执行N次单值计算.我写了以下代码.

performN :: Monad m => Int -> m t -> m [t]
performN 0 m = return []
performN n m = 
  do x1<- m
     x2<- if n == 1 then return [] else (m:performN (n-2) m)
     return (x1:x2)
Run Code Online (Sandbox Code Playgroud)

我收到以下错误.

:264:44:错误:
•无法将类型'm'与'[]'匹配'
''是一个由
类型签名绑定的刚性类型变量:
performN :: forall(m ::* - >*)t .Monad m => Int - > mt - > m [t]
at:260:13
预期类型:[mt]
实际类型:m [t]
•在'(:)'的第二个参数中,即'performN(n) - 2)m'
在表达式中:(m:performN(n - 2)m)
在'do'块的stmt中:
x2 < - 如果n == 1则返回[] else(m:performN(n …

monads haskell

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

Python:递归

def counter(n):
  if n < 0:
      return
  else:
      print '1st print', n
      counter(n-1)
      print '2nd print', n

print counter(3)

# 1st print 3
# 1st print 2
# 1st print 1
# 1st print 0
# 2nd print 0
# 2nd print 1
# 2nd print 2
# 2nd print 3
# None
Run Code Online (Sandbox Code Playgroud)

所以在摆弄了递归函数后,我意识到一些非常特殊的东西,我无法完全绕过它.我理解它从3到0打印的函数的第一部分,但是当它从0再次打印到3时我不理解第二部分.当n = 0时,该函数不会停止吗?

python recursion

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