TShopping

 找回密碼
 註冊
搜索
查看: 854|回復: 0
打印 上一主題 下一主題

[教學] Python 非監督式閥值 thresh

[複製鏈接]
跳轉到指定樓層
1#
發表於 2021-5-18 22:30:09 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
 
Push to Facebook
• 非監督式閥值是指有七種opencv提供的閥值規則,他會自主學習,自動找出閥值。
• 透過try_all_threshold( )查看自主學習閥值的成果。
• 我們可以透過圖表顯示影像灰階化後的色彩分布:
• 我們須將二維的灰階影像轉換為一維的資料
• image1.ravel( ) 代表將二維資料轉換為一維
• plt.hist(image1.ravel( ) )查看轉換為一維後的色彩分布
• 挑選兩種非監督式閥值的學習查看他的執行成果。

原圖



原始碼
  1. from  skimage.io import  imshow,imread,imsave
  2. import  matplotlib.pyplot as plt
  3. import  skimage.color as colors
  4. import  skimage.filters as filters
  5. def image_show(image,nrows=1,ncols=1,cmap='gray'):
  6.     fig,ax=plt.subplots(nrows=nrows,ncols=ncols,figsize=(6,6))
  7.     ax.imshow(image,cmap='gray')
  8.     print(image)
  9.     ax.axis('off')
  10.     plt.show()
  11.     return  fig,ax
  12. #image1=imread('cat.jpg',as_gray=True)
  13. image1=imread('threshold.png',as_gray=True)
  14. thresh1=filters.threshold_otsu(image1) #方法一
  15. #print(thresh1)
  16. data2=(image1>thresh1)
  17. #print(data2)
  18. image_show(data2)
  19. thresh1=filters.threshold_yen(image1) #方法二
  20. print(thresh1)
  21. data2=(image1>thresh1)
  22. image_show(data2)
複製代碼


thresh1代表閥值設定的比率。


當imge1>thresh1,也就是通過閥值的灰階色彩,就成為True,否則就是False
透過image_show( )呈現圖像


結果圖


 

臉書網友討論
*滑块验证:
您需要登錄後才可以回帖 登錄 | 註冊 |

本版積分規則



Archiver|手機版|小黑屋|免責聲明|TShopping

GMT+8, 2024-4-19 13:32 , Processed in 0.060349 second(s), 25 queries .

本論壇言論純屬發表者個人意見,與 TShopping綜合論壇 立場無關 如有意見侵犯了您的權益 請寫信聯絡我們。

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回復 返回頂部 返回列表