图像局部阈值处理

发布于 2024-12-28 23:07:36 字数 334 浏览 2 评论 0原文

我有一个图像,我想使用局部阈值对其应用分割。这需要以下步骤:

  • 首先将图像分割成许多子图像

  • 通过计算每个子图像内的平均值来实现局部阈值

  • 通过将每个像素值与子图像局部平均值进行比较,将图像矩阵转换为二进制:

    • 如果像素值高于或等于局部平均值,则像素值 = 1

    • 如果像素值低于本地平均值,则像素值 = 0

我的图像是单位 8 240*320 像素。如何使用 MATLAB 对其实施局部阈值处理?我想计算每个 31*31 子图像的平均值。

I have an image to which I want to apply segmentation using local thresholding. This requires the following steps:

  • first segment the image into many sub-images

  • implement local thresholding by computing the average within each sub image

  • convert the image matrix to binary, by comparing each pixel value with the value of the sub-image local average:

    • if the pixel value is above or equal to the local average, then pixel value = 1

    • if the pixel value is below the local average, then pixel value = 0

My image is unit 8 with 240*320 pixels. How can I implement local thresholding to it using MATLAB? I want to compute the average over each 31*31 sub-image.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

不忘初心 2025-01-04 23:07:36
n=31;
im2=(im>conv2(im,1/(n^2)*ones(n),'same'))
n=31;
im2=(im>conv2(im,1/(n^2)*ones(n),'same'))
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文