数染色体 算法 python源码

效果图如下:

原图:

完整代码:

python 复制代码
import cv2
import numpy as np
from skimage import measure
import random


image = cv2.imread('113.jpg', cv2.IMREAD_GRAYSCALE)

blurred_img = cv2.GaussianBlur(image, (5, 5), 0)

_, binary_image = cv2.threshold(blurred_img, 0, 255, cv2.THRESH_BINARY_INV + cv2.THRESH_OTSU)

kernel = np.ones((3, 3), np.uint8)
img2 = cv2.morphologyEx(binary_image, cv2.MORPH_OPEN, kernel, iterations=2)

labels = measure.label(img2, connectivity=2, background=0)
props = measure.regionprops(labels)

output_image = cv2.cvtColor(image, cv2.COLOR_GRAY2BGR)

colors = []
for _ in range(len(props)):
    colors.append((random.randint(0, 255), random.randint(0, 255), random.randint(0, 255)))

chromosome_count = len(props)
chromosome_sizes = []

for i, prop in enumerate(props):
    y, x = prop.centroid
    center = (int(x), int(y))

    cv2.circle(output_image, center, 5, colors[i], -1)

    cv2.putText(output_image, f'{i+1}', (center[0] + 10, center[1]), cv2.FONT_HERSHEY_SIMPLEX, 0.5, colors[i], 1)

    chromosome_sizes.append(prop.area)

print(f"染色体数量: {chromosome_count}")
print(f"每个染色体的尺寸(像素数量): {chromosome_sizes}")

cv2.imshow('img2', img2)
cv2.imshow('output_image', output_image)
cv2.waitKey(0)
cv2.destroyAllWindows()
相关推荐
小李独爱秋7 分钟前
特征值优化:机器学习中的数学基石
人工智能·python·线性代数·机器学习·数学建模
TwoAI16 分钟前
Matplotlib:绘制你的第一张折线图与散点图
python·matplotlib
Lululaurel32 分钟前
机器学习系统框架:核心分类、算法与应用全景解析
人工智能·算法·机器学习·ai·分类
二向箔reverse33 分钟前
opencv基于SIFT特征匹配的简单指纹识别系统实现
人工智能·opencv·计算机视觉
愚润求学35 分钟前
【贪心算法】day8
c++·算法·leetcode·贪心算法
摸鱼仙人~36 分钟前
一文详解 Python 密码哈希库 Passlib
开发语言·python·哈希算法
递归尽头是星辰1 小时前
双指针与滑动窗口算法精讲:从原理到高频面试题实战
算法·双指针·滑动窗口·子串/子数组问题
大飞记Python1 小时前
当GitHub不再纯粹:Python自动化测试的未来是AI还是危机?
python·github
eqwaak01 小时前
Matplotlib 动画显示进阶:交互式控制、3D 动画与未来趋势
python·tcp/ip·3d·语言模型·matplotlib
GilgameshJSS2 小时前
【学习K230-例程23】GT6700-音频FFT柱状图
python·学习·音视频