图像与矩阵叠加
我有一个图像(png),我想将其放在由 a 和值 0-1 的 2D 矩阵组成的热图(可以这么说)下面。因此,光斑的强度将由矩阵中的值的大小决定。
我可以使用 imshow(matrix) 但这完全覆盖了下面的图像。是否有可能不绘制任何矩阵值 <.05 的像素或其他某种方式来完成这项工作?
I have an image (png) that I want to put underneath a heatmap(so to speak) made from a and a 2D matrix of values 0-1. So the intensity of the spot would be decided by how large the value in the matrix is.
I can use imshow(matrix) but that completely draws over the image underneath. Is it possible to perhaps, not draw any pixels with matrix values <.05 or some other way to make this work?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
以下是在彩色图像上叠加二进制热图的示例:
Here is an example of overlaying a binary heatmap on top of a color image:
加载的 png 将是一个三维矩阵。您可以使用repmat 将 2d 二进制矩阵转换为 3d 矩阵。然后使用 imresize 调整二进制矩阵的大小,使其与 png 的大小相同。最后,您可以显示与 imshow(alpha(myPng) + (1-alpha)*(myBinaryMat)) 等混合的两个矩阵,其中 alpha 是介于 0 和 1 之间的混合参数。
the loaded png will be a three dimensional matrix. You can convert the 2d binary matrix into a 3d one with repmat. Then resize the binary matrix so it is the same size as the png with imresize. Finally, you can show the two matrices blended with something like imshow(alpha(myPng) + (1-alpha)*(myBinaryMat)) where alpha is a blending parameter between 0 and 1.