Python opencv怎么实现医学处理
发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,这篇文章主要讲解了"Python opencv怎么实现医学处理",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"Python opencv怎么实现医学处理
千家信息网最后更新 2026年10月31日Python opencv怎么实现医学处理题目描述
这篇文章主要讲解了"Python opencv怎么实现医学处理",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"Python opencv怎么实现医学处理"吧!
题目描述
利用opencv或其他工具编写程序实现医学处理。
实现过程
# -*- coding: utf-8 -*-'''作者 : 丁毅开发时间 : 2021/5/9 16:30'''import cv2import numpy as np# 图像细化def VThin(image, array): rows, cols = image.shape NEXT = 1 for i in range(rows): for j in range(cols): if NEXT == 0: NEXT = 1 else: M = int(image[i, j - 1]) + int(image[i, j]) + int(image[i, j + 1]) if 0 < j < cols - 1 else 1 if image[i, j] == 0 and M != 0: a = [0]*9 for k in range(3): for l in range(3): if -1 < (i - 1 + k) < rows and -1 < (j - 1 + l) < cols and image[i - 1 + k, j - 1 + l] == 255: a[k * 3 + l] = 1 sum = a[0] * 1 + a[1] * 2 + a[2] * 4 + a[3] * 8 + a[5] * 16 + a[6] * 32 + a[7] * 64 + a[8] * 128 image[i, j] = array[sum]*255 if array[sum] == 1: NEXT = 0 return imagedef HThin(image, array): rows, cols = image.shape NEXT = 1 for j in range(cols): for i in range(rows): if NEXT == 0: NEXT = 1 else: M = int(image[i-1, j]) + int(image[i, j]) + int(image[i+1, j]) if 0 < i < rows-1 else 1 if image[i, j] == 0 and M != 0: a = [0]*9 for k in range(3): for l in range(3): if -1 < (i-1+k) < rows and -1 < (j-1+l) < cols and image[i-1+k, j-1+l] == 255: a[k*3+l] = 1 sum = a[0]*1+a[1]*2+a[2]*4+a[3]*8+a[5]*16+a[6]*32+a[7]*64+a[8]*128 image[i, j] = array[sum]*255 if array[sum] == 1: NEXT = 0 return imagearray = [0, 0, 1, 1, 0, 0, 1, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 1, 0, 0, 0]# 显示灰度图img = cv2.imread(r"C:UserspcDesktopvas0.png",0)cv2.imshow("img1",img)# 自适应阈值分割img2 = cv2.adaptiveThreshold(img, 255, cv2.ADAPTIVE_THRESH_MEAN_C, cv2.THRESH_BINARY, 17, 4)cv2.imshow('img2', img2)# 图像反色img3 = cv2.bitwise_not(img2)cv2.imshow("img3", img3)# 图像扩展img4 = cv2.copyMakeBorder(img3, 1, 1, 1, 1, cv2.BORDER_REFLECT)cv2.imshow("img4", img4)contours, hierarchy = cv2.findContours(img4, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_NONE)# 消除小面积img5 = img4for i in range(len(contours)): area = cv2.contourArea(contours[i]) if (area < 80) | (area > 10000): cv2.drawContours(img5, [contours[i]], 0, 0, -1)cv2.imshow("img5", img5)num_labels, labels, stats, centroids = cv2.connectedComponentsWithStats(img5, connectivity=8, ltype=None)# print(stats)s = sum(stats)img6 = np.ones(img5.shape, np.uint8) * 0for (i, label) in enumerate(np.unique(labels)): # 如果是背景,忽略 if label == 0: # print("[INFO] label: 0 (background)") continue numPixels = stats[i][-1] div = (stats[i][4]) / s[4] # print(div) # 判断区域是否满足面积要求 if round(div, 3) > 0.002: color = 255 img6[labels == label] = colorcv2.imshow("img6", img6)# 图像反色img7 = cv2.bitwise_not(img6)# 图像细化for i in range(10): VThin(img7, array) HThin(img7, array)cv2.imshow("img7",img7)# 边缘检测img8 = cv2.Canny(img6, 80, 255)cv2.imshow("img8", img8)# 使灰度图黑白颠倒img9 = cv2.bitwise_not(img8)cv2.imshow("img9", img9)cv2.waitKey(0)感谢各位的阅读,以上就是"Python opencv怎么实现医学处理"的内容了,经过本文的学习后,相信大家对Python opencv怎么实现医学处理这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!
医学
处理
图像
学习
内容
灰度
面积
作者
区域
就是
工具
思路
情况
文章
时间
更多
知识
知识点
程序
篇文章
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
互联网络科技
喔噻互联网科技有限公司
深圳九邦互联网科技有限公司
互联网科技工作委员会
美国互联网科技
碳银互联网科技有限公司
四个字互联网科技公司取名
开启互联网科技时代小说
互联网之后的科技是什么
互联网5g黑科技有哪些
链环科技传统企业怎么转型互联网
银川新华互联网科技学校联系电话
恒生互联网科技业指数调整周期
上海京穆互联网科技有限公司
广州互联网高科技取餐柜
2021世界互联网领先科技成果发布
广州燕处互联网科技有限公司
昆明中奇联合互联网科技
好易买互联网科技
杭州融税互联网科技有限公司
互联网公司 科技公司
亿策互联网科技
四个字互联网科技公司取名
上海电发互联网科技有限公司
全球顶尖互联网科技公司
翼展科技 首家互联网医院
富国互联网金融科技混合基金
科技互联网专业务虚会材料
恒生互联网科技趋势
网互联网络科技