gpt4 book ai didi

image - 如何在 Julia 中模糊图像?

转载 作者:行者123 更新时间:2023-12-04 07:15:37 27 4
gpt4 key购买 nike

我有一个作为像素数组加载的图像(使用 Image.jl)。如何使用一个简单的函数来模糊该图像,该函数只是将像素与一些周围像素进行平均?

最佳答案

这是一个简单的blurred(img, n)使用周围模糊图像中每个像素的函数 n像素。
这里唯一棘手的一点是决定在边缘做什么。在这种情况下,我已经镜像了边缘(通过 getpixel ),我认为这会产生不错的模糊效果。
但是,这个算法非常幼稚,因此当 n 远大于 50 左右时,它的性能很差......

# --------------------------
# using Images, FileIO
#
# include("blur.jl")
#
# img = FileIO.load("img.png")
#
# FileIO.save("blurred.png", blurred(img, 20))
# --------------------------

using Statistics: mean

function blurred(image, n)
reshape([
blurred_px(image, x,y, n)
for x in 1:size(image)[1], y in 1:size(image)[2]
], size(image))
end

function blurred_px(image, x,y, n)
mean(
getpixel(image, i, j)
for i in x-n:x+n, j in y-n:y+n
)
end

function getpixel(image, x,y)
w,h = size(image)
# mirror over top/left
x,y = abs(x-1)+1, abs(y-1)+1
# mirror over the bottom/right
if x > w
x = w+ (w - x)
end
if y > h
y = h+(h - y)
end
return image[x, y]
end

blurred
例如:
enter image description here
enter image description here

关于image - 如何在 Julia 中模糊图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68788453/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com