二值图片轮廓提取

Posted ziytong

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了二值图片轮廓提取相关的知识,希望对你有一定的参考价值。

# -*- coding: UTF-8 -*-

import cv2
import numpy as np
import os


reagents = [MaskVIA1, MaskVIA3, MaskVILI]
if __name__ == __main__:

    path = F:/project/Cancer/dataset/Cervical_Data/Cut_Data/CANCER/3/

    for file_name in os.listdir(path):


        if not os.path.isdir(path+/+file_name):


            print(file_name)
            image = cv2.imread(path + / + file_name)
            gray_image = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
            gray_image = cv2.Canny(gray_image, 100, 200)
            gray_image = cv2.morphologyEx(gray_image, cv2.MORPH_DILATE, np.ones((5, 5), np.uint8))

            gray_image = 255 - gray_image

            cv2.imwrite(path + new_label/ + file_name.split(.)[0] + . + file_name.split(.)[1], gray_image)

            ‘‘‘
            cv2.imshow(file_name, gray_image)
            cv2.waitKey(0)
            cv2.destroyWindow(file_name)
            ‘‘‘

    print(all_finished)

单个文件夹内部图片提取

# -*- coding: UTF-8 -*-

import cv2
import numpy as np
import os


class_names = [NORMAL, CIN1, CIN2, CIN3, CANCER]
reagents = [MaskVIA1, MaskVIA3, MaskVILI]

if __name__ == __main__:

    path = F:/project/Cancer/dataset/Cervical_Data/Cut_Data
    path1 = F:/project/Cancer/dataset/Cervical_Data/Labels

    for class_name in class_names:
        src_path = path + / + class_name
        src_path1 = path1 + / + class_name
        for patient_code in os.listdir(src_path):
            src_patient_dir = src_path + / + patient_code
            print(src_patient_dir)
            tar_patient_dir = src_path1 + / + patient_code
            print(tar_patient_dir)
            file_names = [res for res in os.listdir(src_patient_dir) if   (res.startswith(Mask) and res.endswith(.jpg))]
            os.makedirs(tar_patient_dir)
            for file_name in file_names:
                print(file_name)
                image = cv2.imread(src_patient_dir + / + file_name)
                gray_image = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
                gray_image = cv2.Canny(gray_image, 100, 200)
                gray_image = cv2.morphologyEx(gray_image, cv2.MORPH_DILATE, np.ones((10, 10), np.uint8))

                gray_image = 255 - gray_image

                cv2.imwrite(tar_patient_dir  +/ + file_name, gray_image)

多层文件图片边缘分割

 

以上是关于二值图片轮廓提取的主要内容,如果未能解决你的问题,请参考以下文章

在matlab中,怎么把图片中的图像轮廓坐标找出来?

用MATLAB批量求多幅图片轮廓与图片边缘的坐标

OpenCV函数cvFindContous提取图像轮廓

MATLAB应用实战系列(四十五)-matlab任意图形轮廓坐标提取含源代码

碑文书法汉字拆分

Opencv2系列学习笔记10(提取连通区域轮廓) 另一个