type
status
date
Aug 31, 2023 08:53 AM
slug
summary
tags
category
icon
password
引言:
遇到的问题 - distanceTransform 用cv2.imshow显示异常问题
问题现象说明
如下code, 用cv2.imshow 显示异常, 如下左图.
但用plt.imshow()显示正常, 如下右图.
![notion image](https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2F3ac5dd87-e526-49de-a9b7-8ab2335ac51f%2FUntitled.png?table=block&id=d74a2b9b-4a76-4ac1-9f72-6ad1769d0834)
![notion image](https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2F21af6205-2dfe-4912-abe5-e0ce7d7a2f60%2FUntitled.png?table=block&id=43e4f10e-ce13-4492-b83d-ba250e3a74ba)
解决过程
参考[opencv 轻松入门 page369].
cv2.distanceTransform
的输出 dist_transform
是float类型.cv2.imshow只显示int类型,导致细节丢失.
而plt.imshow 可以显示float. 故细节还在.
要用cv2显示, 要:
- 先用float归一化.
- 然后转到255区间.
就可以了