julia系列5:文本图像其他语言函数互动

Posted IE06

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了julia系列5:文本图像其他语言函数互动相关的知识,希望对你有一定的参考价值。

1. 文件读写

语法和python很像,读文件使用open-readlines-close,写文件使用open-println(file,data)-close
使用DelimitedFiles包中的readlm()读取csv文件。

1.1 读文件

readline读取一行;readlines读取所有行为一个数组;eachline读取为一个迭代器:

1.2 写文件




1.3 json文件

using ProgressMeter
@showprogress 1 "Retrieving Julian info..." for ...

using JSON
# write to file
userdata = Dict("nodes"=>usernodes, "links"=>userlinks)
open("Julians.json", "w") do f
  JSON.print(f, userdata, 2)
end

2. 与python/c/Fortran交互

通过PyCall包,Julia可以直接调用Python包。例如:

using PyCall
np= pyimport("numpy")
x = np.linspace(1, 10, 10)

数值、布尔、字符串、IO stream、函数、元组、数组或列表、以及包含这些类型的字典等,它们都会自动进行类型的转换(Python函数会被转换或传递为Julia的函数,反之亦然)。其它类型则是通过通用的PyObject提供的。
下面是调用c函数的例子。

ccall((:clock, "libc"), Int32, ()) # 调用C的clock函数

3. 绘图

3.1 pyplot

既然都装了python了,就用pyplot绘图吧。

using PyPlot
x=1:10
xlabel("x")
y=ones(10)
for i=1:10
    y[i]=-i*i*i
end
ylabel("y")
title("XKCD plot")
plot(x,y)

另一种方式:


第三种方式:

3.2 使用Images

using Images
url = "..."
download(url,"test.jpg")
load("test.jpg")

下载图片,并绘制原图

3.3 skimage

pyplot()
@pyimport skimage.io as io
io.imshow("test.jpg") # 也可以直接放链接

3.4 Plots

using Plots
import FileIO
pyplot()
plot(FileIO.load("test.jpg"))

以上是关于julia系列5:文本图像其他语言函数互动的主要内容,如果未能解决你的问题,请参考以下文章

julia系列5:文本图像其他语言函数互动

如何在 Julia 语言中绘制圆形扇区?

julia系列6:并行计算

julia系列6:并行计算

julia系列6:并行计算

julia系列3:函数模块与宏