小编Rya*_*yan的帖子

使用matplotlib将图像显示为灰度

我正在尝试使用matplotlib.pyplot.imshow()显示灰度图像.我的问题是灰度图像显示为色彩图.我需要灰度,因为我想用颜色在图像上绘制.

我在图像中读取并使用PIL的Image.open()转换为灰度.转换("L")

image = Image.open(file).convert("L")
Run Code Online (Sandbox Code Playgroud)

然后我将图像转换为矩阵,以便我可以轻松地使用

matrix = scipy.misc.fromimage(image, 0)
Run Code Online (Sandbox Code Playgroud)

但是,当我这样做的时候

figure()  
matplotlib.pyplot.imshow(matrix)  
show()
Run Code Online (Sandbox Code Playgroud)

它使用色彩图显示图像(即它不是灰度).

我在这做错了什么?

python matplotlib grayscale

211
推荐指数
7
解决办法
31万
查看次数

前置字符串

使用尽可能少的内存前缀到C字符串的最有效方法是什么?

我正在尝试重建大型目录树中文件的路径.

这是我以前做过的事情的想法:

char temp[LENGTH], file[LENGTH];
file = some_file_name;

while (some_condition) {
    parent_dir = some_calculation_that_yields_name_of_parent_dir;
    sprintf(temp, "%s/%s", parent_dir, file);
    strcpy(file, temp);
}
Run Code Online (Sandbox Code Playgroud)

这看起来有点笨拙.

任何帮助,将不胜感激.谢谢!

c string concatenation

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

Java类和方法的依赖关系图

我有一个Java项目,我已经工作了一段时间.设计开始时相当不错,但随着变化而慢慢退化.我正在寻找一种可以分析项目的工具.拥有不同类/方法的依赖关系的地图真的很不错.我觉得某些方法只是为了实现一个非常具体的目标.我想消除不必要的代码,让我的设计更好.

任何建议都会很棒!谢谢!

java dependencies analyzer

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

SQL:计算每列中不同值的数量

我需要一个返回表的查询,其中每列是另一个表的列中不同值的计数.

我知道如何计算一列中的不同值:

select count(distinct columnA) from table1;
Run Code Online (Sandbox Code Playgroud)

我想我可以把它作为一个非常长的选择条款:

select count(distinct columnA), count(distinct columnB), ... from table1;
Run Code Online (Sandbox Code Playgroud)

但这不是很优雅,而且是硬编码的.我更喜欢更灵活的东西.

mysql sql count distinct

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

是否有Python等效的MATLAB的conv2函数?

Python或其任何模块是否具有MATLAB的conv2功能?更具体地说,我对与conv2(A, B, 'same')MATLAB 中进行相同计算的东西感兴趣.

python matlab matrix convolution

6
推荐指数
2
解决办法
8085
查看次数

Python ctypes:如何从stderr刷新输出?

我已经使用python的ctypes编写了一些函数回调来访问DLL中的函数.使用fprintf到stderr,用于构建该DLL的代码中包含一些调试打印语句.但是,当我运行我的python代码时,我没有看到输出到stderr一致.我很少会看到它将stderr的输出刷新到我正在使用的控制台.我试过用"python -u foo.py"运行它,但这也无济于事.有什么建议?

python windows dll ctypes

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

为什么在从同一解决方案引用另一个项目时会收到​​FileNotFound异常?

我正在学习如何使用NUnit.我的主要项目在它的解决方案中,并在同一个解决方案中创建了一个单独的项目,它将持有我自己的命名空间的单元测试.从该项目我添加对主项目的引用并添加一个

using MainProjectNamespace;
Run Code Online (Sandbox Code Playgroud)

到它的顶部.

当我去NUnit时,我所做的任何测试都没有引用主要的项目工作.这些是我为了习惯NUnit而设置的测试,几乎没用.当NUnit运行实际测试时,测试会抛出此异常:

TestLibrary.Test.TestMainProject:System.IO.FileNotFoundException:无法加载文件或程序集'WpfApplication2,Version = 1.0.0.0,Culture = neutral,PublicKeyToken = null'或其依赖项之一.系统找不到指定的文件.

为什么我得到这个例外?

编辑:

现在,当我尝试将程序集加载到NUnit中时,它甚至不会加载(因此我甚至无法运行测试)

这是来自sup的异常,以及堆栈跟踪:

System.IO.DirectoryNotFoundException:找不到路径的一部分'LONG PATH HERE I DO NOT TYPE'

System.IO.DirectoryNotFoundException...

Server stack trace: 
    at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
    at System.IO.Directory.SetCurrentDirectory(String path)
    at NUnit.Core.DirectorySwapper..ctor(String directoryName)
    at NUnit.Core.Builders.TestAssemblyBuilder.Load(String path)
    at NUnit.Core.Builders.TestAssemblyBuilder.Build(String assemblyName, Boolean autoSuites)
    at NUnit.Core.Builders.TestAssemblyBuilder.Build(String assemblyName, String testName, Boolean autoSuites)
    at NUnit.Core.TestSuiteBuilder.Build(TestPackage package)
    at NUnit.Core.SimpleTestRunner.Load(TestPackage package)
    at NUnit.Core.ProxyTestRunner.Load(TestPackage package)
    at NUnit.Core.ProxyTestRunner.Load(TestPackage package)
    at NUnit.Core.RemoteTestRunner.Load(TestPackage package)
    at System.Runtime.Remoting.Messaging.StackBuilderSink._PrivateProcessMessage(IntPtr md, Object[] args, Object server, Int32 methodPtr, Boolean fExecuteInContext, Object[]& …
Run Code Online (Sandbox Code Playgroud)

.net c# nunit

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

在Emacs中设置选项卡大小

我正在使用Emacs作为编辑器.我想将标签大小设置为四个空格.在我的.emacs文件中,我有以下内容:

(setq default-tab-width 4)
Run Code Online (Sandbox Code Playgroud)

我也尝试过:

(set-default tab-width 4)
Run Code Online (Sandbox Code Playgroud)

无论哪种方式,当我打开emacs并尝试选项卡时,它会插入两个空格.难道我做错了什么?它几乎看起来没有看到我的.emacs文件.

任何建议都会很棒!谢谢!

emacs config dot-emacs tab-size

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

在没有JPanel的情况下使用Java绘图

我正在编写一个图形用户界面来绘制xy轴上的数据.它是用Java Swing编写的,所以我有一个JFrame包含整个GUI的.GUI的一个组件是构成JPanel数据绘制区域的组件.我Graphics2D用来做我的绘画.

我正在尝试对此程序进行命令行扩展.这个想法是用户可以指定他们想要在配置文件中绘制的数据.这允许有趣的参数扫描,节省大量时间.

当我尝试获取Graphics要绘制的对象时,会发生此问题.我创建了JPanel绘图,但是Graphics当我调用时,对象为null paintComponent().

此外,当您运行程序(再次从命令行)时,它会从您尝试执行的任何其他操作中窃取焦点(如果此程序在后台运行).反正有没有解决这个问题?你需要创建一个JPanel绘图吗?

感谢您提供的任何帮助!

PS当我说我从命令行运行程序时,我的意思是说你没有使用GUI.所有的绘图等都是​​在没有界面的情况下完成的.另外,我知道你无法实例化一个Graphics对象.

java graphics jpanel

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

从C++引用静态库中的C函数

我有一个用C编写的静态函数库.假设头文件名为myHeader.h,看起来像:

#ifndef MYHEADER_H
#define MYHEADER_H

void function1();
void function2();

#endif
Run Code Online (Sandbox Code Playgroud)

function1和function2不是什么特别的东西.假设它们存在于名为impl1.c的文件中,如下所示:

#include "myHeader.h"

void function1() {
    // code
}
void function2() {
    // more code
}
Run Code Online (Sandbox Code Playgroud)

到目前为止提到的所有代码都被编译成一个名为libMyLib.a的静态库.我宁愿不修改用于构建此库的任何代码.我还有一个C++标头(cppHeader.h),它看起来像:

#ifndef CPPHEADER_H
#define CPPHEADER_H

class CppClass {
    private:
        double attr1;
    public:
        void function3();
};
#endif
Run Code Online (Sandbox Code Playgroud)

然后cppHeader.cpp看起来像:

#include "cppHeader.h"
#include "myHeader.h"

// constructor
CppClass::CppClass(){}

void CppClass::function3() {
    function1();
}
Run Code Online (Sandbox Code Playgroud)

当我尝试编译它时,我得到一个关于对function1()的未定义引用的错误.我相信在编译时我已正确地链接了所有内容.在我的C++中,我很生气.我确信我只是在做一些愚蠢的事情.我希望我的简单示例代码能很好地说明问题.

在此先感谢您的帮助!

c c++ static-libraries

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

适当的模型 - 视图 - 控制器设计

我有一个Java项目,我正在尝试使用模型 - 视图 - 控制器设计.我拥有所有组成部分的骨干.我在决定如何将它们连接在一起时遇到一些麻烦,尤其是视图和控制器.

我有一个名为MainView的类,它扩展了JFrame.我有各种其他类来帮助组成MainView,每个类都扩展了JPanel.作为示例,这些类之一称为ParameterView.我是否应该允许控制器查看每个"子视图",或者我应该让控制器只看到MainView并通过那里管理所有内容?

与模型一样,模型是否应该通过一个总体类来管理?

谢谢!

java model-view-controller user-interface swing

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

等待Java Swing中的鼠标输入

我正在研究Java Swing应用程序.我有一个按钮,其动作在数据库上运行查询,然后绘制结果.这些命令是从"运行"按钮上的侦听器执行的.据我了解,这意味着此时运行的线程来自EventQueue.

给定某些输入,我需要暂停处理并等待用户点击绘图区域.我正在努力寻找一种方法来做到这一点.我看了一遍,但我似乎无法找到一个有效的解决方案.我试图创建一个等待用户输入的新线程(我在这个线程上调用join).问题是这使得前一个线程(来自EventQueue)等待.出于某种原因,鼠标单击不会导致中断,因此永远不会捕获鼠标单击.

任何帮助将非常感激.提前致谢.

java swing multithreading mouseevent wait

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