我正在尝试使用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)
它使用色彩图显示图像(即它不是灰度).
我在这做错了什么?
使用尽可能少的内存前缀到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)
这看起来有点笨拙.
任何帮助,将不胜感激.谢谢!
我有一个Java项目,我已经工作了一段时间.设计开始时相当不错,但随着变化而慢慢退化.我正在寻找一种可以分析项目的工具.拥有不同类/方法的依赖关系的地图真的很不错.我觉得某些方法只是为了实现一个非常具体的目标.我想消除不必要的代码,让我的设计更好.
任何建议都会很棒!谢谢!
我需要一个返回表的查询,其中每列是另一个表的列中不同值的计数.
我知道如何计算一列中的不同值:
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)
但这不是很优雅,而且是硬编码的.我更喜欢更灵活的东西.
Python或其任何模块是否具有MATLAB的conv2功能?更具体地说,我对与conv2(A, B, 'same')
MATLAB 中进行相同计算的东西感兴趣.
我已经使用python的ctypes编写了一些函数回调来访问DLL中的函数.使用fprintf到stderr,用于构建该DLL的代码中包含一些调试打印语句.但是,当我运行我的python代码时,我没有看到输出到stderr一致.我很少会看到它将stderr的输出刷新到我正在使用的控制台.我试过用"python -u foo.py"运行它,但这也无济于事.有什么建议?
我正在学习如何使用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) 我正在使用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文件.
任何建议都会很棒!谢谢!
我正在编写一个图形用户界面来绘制xy轴上的数据.它是用Java Swing编写的,所以我有一个JFrame
包含整个GUI的.GUI的一个组件是构成JPanel
数据绘制区域的组件.我Graphics2D
用来做我的绘画.
我正在尝试对此程序进行命令行扩展.这个想法是用户可以指定他们想要在配置文件中绘制的数据.这允许有趣的参数扫描,节省大量时间.
当我尝试获取Graphics
要绘制的对象时,会发生此问题.我创建了JPanel
绘图,但是Graphics
当我调用时,对象为null paintComponent()
.
此外,当您运行程序(再次从命令行)时,它会从您尝试执行的任何其他操作中窃取焦点(如果此程序在后台运行).反正有没有解决这个问题?你需要创建一个JPanel
绘图吗?
感谢您提供的任何帮助!
PS当我说我从命令行运行程序时,我的意思是说你没有使用GUI.所有的绘图等都是在没有界面的情况下完成的.另外,我知道你无法实例化一个Graphics
对象.
我有一个用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++中,我很生气.我确信我只是在做一些愚蠢的事情.我希望我的简单示例代码能很好地说明问题.
在此先感谢您的帮助!
我有一个Java项目,我正在尝试使用模型 - 视图 - 控制器设计.我拥有所有组成部分的骨干.我在决定如何将它们连接在一起时遇到一些麻烦,尤其是视图和控制器.
我有一个名为MainView的类,它扩展了JFrame.我有各种其他类来帮助组成MainView,每个类都扩展了JPanel.作为示例,这些类之一称为ParameterView.我是否应该允许控制器查看每个"子视图",或者我应该让控制器只看到MainView并通过那里管理所有内容?
与模型一样,模型是否应该通过一个总体类来管理?
谢谢!
我正在研究Java Swing应用程序.我有一个按钮,其动作在数据库上运行查询,然后绘制结果.这些命令是从"运行"按钮上的侦听器执行的.据我了解,这意味着此时运行的线程来自EventQueue.
给定某些输入,我需要暂停处理并等待用户点击绘图区域.我正在努力寻找一种方法来做到这一点.我看了一遍,但我似乎无法找到一个有效的解决方案.我试图创建一个等待用户输入的新线程(我在这个线程上调用join).问题是这使得前一个线程(来自EventQueue)等待.出于某种原因,鼠标单击不会导致中断,因此永远不会捕获鼠标单击.
任何帮助将非常感激.提前致谢.
java ×4
python ×3
c ×2
swing ×2
.net ×1
analyzer ×1
c# ×1
c++ ×1
config ×1
convolution ×1
count ×1
ctypes ×1
dependencies ×1
distinct ×1
dll ×1
dot-emacs ×1
emacs ×1
graphics ×1
grayscale ×1
jpanel ×1
matlab ×1
matplotlib ×1
matrix ×1
mouseevent ×1
mysql ×1
nunit ×1
sql ×1
string ×1
tab-size ×1
wait ×1
windows ×1