我正在编写一段代码,其中一部分是读取图像源并将其显示在屏幕上供用户进行交互.我还需要锐化的图像数据.我使用以下内容来读取数据并将其显示出来pyGame
def image_and_sharpen_array(file_name):
#read the image data and return it, with the sharpened image
image = misc.imread(file_name)
blurred = ndimage.gaussian_filter(image,3)
edge = ndimage.gaussian_filter(blurred,1)
alpha = 20
out = blurred + alpha*(blurred - edge)
return image,out
#get image data
scan,sharpen = image_and_sharpen_array('foo.jpg')
w,h,c = scan.shape
#setting up pygame
pygame.init()
screen = pygame.display.set_mode((w,h))
pygame.surfarray.blit_array(screen,scan)
pygame.display.update()
Run Code Online (Sandbox Code Playgroud)
并且图像仅在旋转和反转的屏幕上显示.这是由于之间的差异misc.imread和pyGame?或者这是由于我的代码中出了什么问题?
还有其他办法吗?我读到的大部分解决方案都涉及保存数字然后用"pyGame"读取它.
如果我有一个包含多个数据点的文件.我如何绘制它们的功能?例如,假设我有到列的文件x,并y和我要绘制sin(y)的函数关系1/x.
在这个网页之后,我编辑了〜/ .emacs文件并添加了以下行:
(add-hook 'LaTeX-mode-hook 'flyspell-mode)
Run Code Online (Sandbox Code Playgroud)
但是,flyspell不会以LaTeX文件开头.为什么会这样?
我想画一条线x=c #constant.
这应该是非常简单的,但我该怎么做呢?
我正在寻找一个命令行工具(用于linux)来生成数据文件中的图.我一开始尝试使用gnuplot但它的曲线拟合能力并不是那么好.
然后我尝试了R但是我找不到一种方法来写一个矢量(标志上的小箭头)或热平均值(LaTeX中的\ left\langle\right\rangle).
我有一些隐藏的插件,我找不到任何完成任务的人?
我正在尝试使用valgrind调试我的代码.我收到的大部分信息是:
Conditional jump or move depends on uninitialised value(s)
Run Code Online (Sandbox Code Playgroud)
要么
Invalid read of size 8
Run Code Online (Sandbox Code Playgroud)
我主要关心的是第一个,如果值真的未初始化,我相信会发生分段错误.我通过向另一个函数发送相同的指针以及指向函数的未初始化指针来测试这一点,我知道该函数会引发分段错误,只有真正未初始化的指针才会导致分段错误.
这个错误消息的含义也可能是什么.
另外,第二个错误意味着什么?
Edit1
这是一个模型代码,会给出错误1(假设头文件是合法的)?
a.cpp
B b;
C c;
int main(){
return 0;
}
Run Code Online (Sandbox Code Playgroud)
B.cpp
extern C c;
// double t; //canceld, declared in the header.
B::B(){
this->t = 1;
c.test(t);
}
B::test(){
c.test(this->t);
}
Run Code Online (Sandbox Code Playgroud)
B.cpp
C::C(){
}
C::test(double t){
printf("%f\n",t);
}
Run Code Online (Sandbox Code Playgroud) 当我编译我的代码时,我得到一堆错误,我遍布屏幕,我可以看到错误从哪里开始.如何将gcc的输出保存到文件中?
我尝试了类似的技巧
gcc> log.txt
或者重击结果,但它不起作用.搜索谷歌产量主要是解释如何使用c ++打印到文件
我valgrind用这些结果运行了我的代码:
== 4492 == Memcheck,内存错误检测器
== 4492 ==版权所有(C)2002-2009,以及GNU GPL'd,作者:Julian Seward等.
== 4492 ==使用Valgrind-3.5.0和LibVEX; 用-h重新运行版权信息
== 4492 ==命令:./ mem
== 4492 ==父PID:4455
== 4492 ==
== 4492 ==
== 4492 == HEAP SUMMARY:
== 4492 == in在退出处使用:0个块中的0个字节
== 4492 ==总堆使用量:19,595,342个分配,19,595,342个释放,27,194,270个字节分配== 4492 ==
== 4492 ==所有堆块都被释放 - 没有泄漏可能
== 4492 ==
== 4492 ==对于检测到的和抑制的错误计数,请重新运行:-v
== 4492 ==错误摘要:0个上下文中的0个错误(抑制:4个中的4个)
但是,在代码运行时,我看到程序使用的内存小幅稳定增加.我对这个结果有多确定?
我跑步valgrind使用:
valgrind --track-origins=yes --leak-check=yes
--tool=memcheck --read-var-info=yes --log-file=error.txt`
Run Code Online (Sandbox Code Playgroud)
然后我使用-g和-march=core2标签编译程序.
我最近注意到了这一点,我不知道这是一个与Linux Linux或Emacs有关的问题.
如果我在远程计算机上找到一个文件,然后我将其打开并执行任何操作,当我返回该文件时,Emacs不响应.我发现的唯一解决方案是杀死Emacs并重新打开它.
有没有更人性化的方法来做到这一点?
我在matplot lib中创建了一个图,我希望在该图中添加一个插图.我希望绘制的数据保存在我在其他图中使用的字典中.我在循环中找到了这个数据,然后我再次为子图运行这个循环.以下是相关部分:
leg = []
colors=['red','blue']
count = 0
for key in Xpr: #Xpr holds my data
#skipping over what I don't want to plot
if not key[0] == '5': continue
if key[1] == '0': continue
if key[1] == 'a': continue
leg.append(key)
x = Xpr[key]
y = Ypr[key] #Ypr holds the Y axis and is created when Xpr is created
plt.scatter(x,y,color=colors[count],marker='.')
count += 1
plt.xlabel(r'$z/\mu$')
plt.ylabel(r'$\rho(z)$')
plt.legend(leg)
plt.xlim(0,10)
#Now I wish to create the inset
a=plt.axes([0.7,0.7,0.8,0.8])
count = 0
for …Run Code Online (Sandbox Code Playgroud)