擅长:python、mysql、java
<p>我能从你的代码中看到的是你在Matlab代码中使用了tophat过滤作为第一步。但是,我在python OpenCV代码中看不到相同的情况。
Python内置了tophat过滤器,尝试应用它来获得类似的结果</p>
<p><code>kernel = np.ones((5,5),np.uint8)
tophat = cv2.morphologyEx(img, cv2.MORPH_TOPHAT, kernel)
</code></p>
<p>另外,试着用CLAHE,它能给你的图像提供更好的对比度,然后用blackhat过滤掉小细节。在</p>
<p><code>clahe = cv2.createCLAHE(clipLimit=2.0, tileGridSize=(8,8))
cl1 = clahe.apply(img)
</code>
通过应用这些转换,我得到了更好的结果。在</p>