1use image::ImageFormat;
2use rapl::utils::rapl_img::open_lumaf32;
3use rapl::*;
4
5fn main() {
6 let img = open_lumaf32("graphics/peppers.png").unwrap();
8 let fft = img.to_complex().fft2d();
10
11 let mut kernel: Ndarr<f32, _> = Ndarr::zeros(&fft.dim);
13 let (m, n) = (img.shape()[0], img.shape()[1]);
14 let mid_x = m / 2;
15 let mid_y = n / 2;
16 kernel[[mid_x, mid_y]] = 4.;
17 kernel[[mid_x + 1, mid_y]] = -1.;
18 kernel[[mid_x - 1, mid_y]] = -1.;
19 kernel[[mid_x, mid_y + 1]] = -1.;
20 kernel[[mid_x, mid_y - 1]] = -1.;
21 let kernell = kernel.to_complex().fft2d();
23 let out = (fft * kernell).ifft2().fftshif().re();
26 out.save_as_luma("graphics/pepper_edges.png", ImageFormat::Png)
28}