图像处理需要下载两个包,即Images 和ImageView ,按下] 进入pkg模式,然后
add Images
add ImageView
静待安装成功,然后按删除键返回交互模式,目前的Julia比较稳定,如果出现问题,可按照提示安装缺失的内容。
然后通过using 在Julia中调用。接下来对图像进行基本的打开、转灰度、截取以及展示等操作。
using Images, ImageView, Plots
img =load("E:\\00\\test.jpg")
gray = Gray.(img) #转灰度
roi = gray[1:400,1:800] #截取
imshow(roi) #显示
save("roi.png",roi) #保存
对于学习者来说,可以导入TestImages ,来加载测试图片,这些测试图片都在这里测试图片列表。
using TestImages
img = testimage("lena") #加载著名的lena图
当然,也可以把多维数组转化为图像
A = rand(3, 40, 80) #创建3x40x80的随机数组
img = colorview(RGB, A) #将其转化为RGB图像
Images中封装了一些常用的图像处理算法,最常用的自然是滤波函数imFilter ,例如
using ImageFiltering, TestImages
img = testimage("lena")
im_Gauss = imfilter(img,Kernel.gaussian(3)); #采用3阶Gauss滤波
im_Laplace = imfilter(img,Kernel.laplacian2d(3)); #3阶Laplace滤波
im_Sobel = imfilter(img,Kernel.sobel()); #Sobel滤波
im_Median = imfilter(img,ones(3,3)/9); #自定义的均值滤波
imshow([img im_Gauss im_Median])
如图所示
|