有没有一种方法,同时具有使其压缩GIF imageio的python?我用大约200张图片制作gif,最终文件是30MB.我更喜欢它是5-10 MB.无论如何,图像是单色的,所以应该可以压缩.有没有可以使用的工具或指定它imageio?
这是我制作gif的代码:
import os
import imageio as io
import re
#############################################################
#key to sort the file_names in order
numbers = re.compile(r'(\d+)')
def numericalSort(value):
parts = numbers.split(value)
parts[1::2] = map(int, parts[1::2])
return parts
############################################################
file_names = sorted((fn for fn in os.listdir('.') if fn.startswith('surface')), key = numericalSort)
#gif writer
with io.get_writer('python_growth.gif', mode='I', duration=0.1) as writer:
for filename in file_names:
image = io.imread(filename)
writer.append_data(image)
Run Code Online (Sandbox Code Playgroud) 我尝试在网上阅读了很多例子,发现imageio它是完美的包.还找到了这里写的例子.
我刚刚按照图示示例并尝试了以下操作
import imageio as io
import os
file_names = sorted((fn for fn in os.listdir('.') if fn.startswith('surface')))
#making animation
with io.get_writer('surface.gif', mode='I', duration=0.5) as writer:
for filename in file_names:
image = io.imread(filename)
writer.append_data(image)
writer.close()
Run Code Online (Sandbox Code Playgroud)
另一个例子.
images = []
for filename in file_names:
images.append(io.imread(filename))
io.mimsave('surface1.gif', images, duration = 0.5)
Run Code Online (Sandbox Code Playgroud)
这两个都行不通.基本上我只看到gif中的第一帧并且眨眼并完成.持续时间设置为0.5秒,所以它应该工作正常.我可能错过了这里的一些东西.
我安装atom,并jupyter package为atom 来自这里.现在,如果我从atom它打开旧的ipython笔记本电脑,它不会显示为笔记本电脑.这是旧笔记本的样子atom,
{
"cells": [
{
"cell_type": "code",
"execution_count": 2,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"#importing all the libraries\n",
"import numpy as np\n",
"import pandas as pd\n",
"import sys \n",
"sys.path.append(\"/Users/myname/Documents/things")\n",
"import quadedge as qd\n",
"sys.path.append(\"/Users/myname/Documents/otherthings\")\n",
"import latdevcode as latdev\n",
"import cendevcode as latgen\n",
"import matplotlib.pyplot as plt"
]
},
Run Code Online (Sandbox Code Playgroud)
我错过了什么吗?我怎样才能让导航直接打开jupyter notebook的atom,正确?
我希望 jupyter 笔记本使用浏览器以外的其他东西。有没有办法做到这一点?我看到emacs可以使用,但无法理解如何使用它。
如果有任何可以使用 jupyter 轻松设置的编辑器,请告诉我。
当我点击导航器时,它说,The application "Navigator" can't be opened
我该如何解决这个问题?几天前完全没问题,现在我试图再次打开它,它突然说这个。我尝试更新它,但仍然没有结果。
我正在使用 Mac 书OS Sierra version 10.12.3。
我尝试更新 anaconda 和导航器仍然无法正常工作
conda update anaconda
conda update anaconda-navigator
Run Code Online (Sandbox Code Playgroud)
命令行 :anaconda-navigator给出
Traceback (most recent call last):
File "//anaconda/bin/anaconda-navigator", line 4, in <module>
import anaconda_navigator.app.main
File "//anaconda/lib/python2.7/site-packages/anaconda_navigator/app/main.py", line 16, in <module>
from qtpy.QtCore import QCoreApplication, QEvent, QObject, Qt
File "//anaconda/lib/python2.7/site-packages/qtpy/__init__.py", line 129, in <module>
raise PythonQtError('No Qt bindings could be found')
qtpy.PythonQtError: No Qt bindings could be found
Run Code Online (Sandbox Code Playgroud) 所以,我正在努力更改乳胶中标题/部分/小节的字体。
这是我的代码:
% !TEX TS?program = pdflatexmk
\documentclass[fontsize=12pt]{book}
\usepackage[T1]{fontenc}
\usepackage{amsmath}
\usepackage{mathpazo}
%changing font of section/chapter title
\usepackage{fontspec}
\usepackage{titlesec}
\newfontfamily\headingfont{Papyrus}
\titleformat{\chapter}{\LARGE\headingfont}
\titleformat{\section}{\LARGE\headingfont}
\titleformat{\subsection}{\Large\headingfont}
\titleformat{\subsubsection}{\large\headingfont}
\title{my report}
\author{user name}
\date
\linespread{1.5}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{document}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\maketitle
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\tableofcontents
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\chapter{introduction}
text : intro
\section{first section}
text : section
\subsection{this subsection}
text :section
\subsubsection{this and that subsection}
text :subsub
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\end{document}
Run Code Online (Sandbox Code Playgroud)
这是输出:
该字体仅在chapter和中实现subsection。不适合其他人。而且编号也丢失了。例如,没有titlesec,fontspec这就是它的样子。章节和小节的编号随之丢失。我找不到错误。(使用 fontspec 也有点烦人,因为它找不到默认的乳胶字体,因此必须将文件复制粘贴otf到工作目录中)
我有一个2D数组,它存储每个点的属性值作为其元素: f(x,y) = f[x][y].现在我想找到这个数组的渐变.我调查np.gradient但它只给出了两个数组作为返回,首先是x方向的导数,y方向的第二个.
我想学习如何使用这个或任何其他方式创建一个梯度图,显示2D数组的渐变变化.
varray是我想要创建渐变映射的2D数组.以下是我现在唯一能想到的事情.我知道应该有聪明的方式来使用x gradient和y gradient生成np.gradient()但我无法想到它.
lx并且ly是2D阵列的x和y维度.
vgrad = np.gradient(varray)
xgrad = vgrad[0]
x, y = range(0, lx), range(0,ly)
xi, yi = np.meshgrid(x, y)
rbf = scipy.interpolate.Rbf(xi, yi, xgrad)
plt.imshow(v, vmin = np.amin(xgrad), vmax=np.amax(xgrad))
plt.colorbar()
plt.show()
Run Code Online (Sandbox Code Playgroud)
我想基本上从第一张图片中得到第二张图片.第二幅图像描述为? = \alpha*grad(varray).

使用下面@Mad Physicist建议的梯度大小.
vgrad = np.gradient(varray)
fulgrad = np.sqrt(vgrad[0]**2 + vgrad[1]**2)
plt.imshow(fulgrad,cmap=plt.get_cmap('hot'), vmin = np.amin(fulgrad),vmax = np.amax(fulgrad))
plt.colorbar()
plt.show()
Run Code Online (Sandbox Code Playgroud)
我从对等式的基本理解中解释了这个错误?
所以这是我的图像.左侧:初始2D地图的图像.右:梯度图的图像.@Mad物理学家你认为他们与上面的相似只有不同的颜色?
基本上,我正在使用以下代码从图像制作gif,我的图像png具有透明背景,但是gif具有黑色背景。我不知道如何使gif具有透明背景。
#gif writer
with io.get_writer('my.gif', mode='I', duration=0.1) as writer:
for filename in file_names:
image = io.imread(filename)
writer.append_data(image)
#writer.close()
Run Code Online (Sandbox Code Playgroud)
其中filenames是要使用的所有文件名的数组。
从 sublime 复制这段代码:
# Texts Texts Texts Texts Texts Texts
for i in range(10):
#Idented Texxt
print i
Run Code Online (Sandbox Code Playgroud)
结果如下,带有 jupyter-notebook 中的行选项卡。现在如果我想添加到代码中并在 jupyter 中做进一步的测试,我需要复制这个奇怪的箭头而不是点击选项卡(否则,它会显示缩进错误)。有什么简单的方法可以改变吗?我可以想象我错过了一些非常简单的东西,这可能根本不是问题。我试着寻找,但没有提到这一点。我可以在 sublime 中将所有缩进更改为空格,这可能在复制时起作用,但我更喜欢使用制表符,以使代码可读。
第二张带有双标签的图像,它在笔记本中的样子。
我想自动更新谷歌幻灯片(图表和表格)中的链接对象。我看到了之前问题的答案并组装了以下代码:
function onOpen() {
SlidesApp.getUi() // Or DocumentApp or FormApp.
.createMenu('Update Charts')
.addItem("Update now", 'refreshCharts').addToUi();
refreshCharts();
}
function refreshCharts(){
var gotSlides = SlidesApp.getActivePresentation().getSlides();
for (var i = 0; i < gotSlides.length; i++) {
var slide = gotSlides[i];
var sheetsCharts = slide.getSheetsCharts();
for (var k = 0; k < sheetsCharts.length; k++) {
var shChart = sheetsCharts[k];
shChart.refresh();
}
}
}
Run Code Online (Sandbox Code Playgroud)
当我点击 时它会更新图表Update Charts> Update now。但它首先不会更新打开幻灯片时的图表。还有另一个问题,它现在只适用于图表,有没有办法在脚本中也包含表格,以便所有图表和表格都可以更新?
更新问题
是否有一种方法可以将按钮直接链接到“工具”>“链接对象”>“更新全部”中的“更新全部”按钮
是否可以在幻灯片上有一个按钮来直接执行此操作?
python ×5
anaconda ×1
animated-gif ×1
atom-editor ×1
editor ×1
numpy ×1
sublimetext3 ×1
xelatex ×1