• 大小: 107.68MB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2022-11-15
  • 语言: 其他
  • 标签:

资源简介

连通域分割代码,当初是用来分割染色体的,可多张处理。比较常规的方法,界限分明的图像处理效果都还可以,为啥非要五十个字,写的人头大。

资源截图

代码片段和文件信息

#include  
#include 
#include 
#include
#include 
#include 

using namespace cv;
using namespace std;

string WChar2Ansi(LPCWSTR pwszSrc)
{
int nLen = WideCharToMultiByte(CP_ACP 0 pwszSrc -1 NULL 0 NULL NULL);

if (nLen <= 0) return string(““);

char* pszDst = new char[nLen];
if (NULL == pszDst) return string(““);

WideCharToMultiByte(CP_ACP 0 pwszSrc -1 pszDst nLen NULL NULL);
pszDst[nLen - 1] = 0;

string strTemp(pszDst);
delete[] pszDst;

return strTemp;
}

// 利用winWIN32_FIND_DATA读取文件下的文件名
void readImgNamefromFile(char* fileName vector  &imgNames)
{
// vector清零 参数设置
imgNames.clear();
WIN32_FIND_DATA file;
int i = 0;
char tempFilePath[MAX_PATH + 1];
char tempFileName[50];
// 转换输入文件名
sprintf_s(tempFilePath “%s/*“ fileName);
// 多字节转换
WCHAR   wstr[MAX_PATH] = { 0 };
MultiByteToWideChar(CP_ACP 0 tempFilePath -1 wstr sizeof(wstr));
// 查找该文件待操作文件的相关属性读取到WIN32_FIND_DATA
HANDLE handle = FindFirstFile(wstr &file);
if (handle != INVALID_HANDLE_VALUE)
{
FindNextFile(handle &file);
FindNextFile(handle &file);
// 循环遍历得到文件夹的所有文件名
do
{
sprintf_s(tempFileName “%s“ fileName);
imgNames.push_back(WChar2Ansi(file.cFileName));
imgNames[i].insert(0 tempFileName);
i++;
} while (FindNextFile(handle &file));
}
FindClose(handle);
}

int main()
{
        //图片文件位置
char* fileName = “D:\\image\\Y\\“;
vector  imgNames;
// 获取对应文件夹下所有文件名
readImgNamefromFile(fileName imgNames);
// 遍历对应文件夹下所有文件名

Mat in out;
int a = 1;

for (int i = 0; i < imgNames.size(); i++)
{

Mat srcImage = imread(imgNames[i]0);
if (!srcImage.data)
return -1;
/* 可添加图像处理算法code*/
         Mat dstImage;
// threshold只针对二值化图像  
threshold(srcImage dstImage 0.0 255.0 CV_THRESH_BINARY | CV_THRESH_OTSU);
Mat element = getStructuringElement(0 Size(8 8));
erode(dstImage dstImage element);
vector> contours;
vector hierarchy;

findContours(dstImage contours hierarchy CV_RETR_LIST CV_CHAIN_APPROX_SIMPLE Point(00));

vector maxcontours;   //最大轮廓  
double maxArea = 0;

for (size_t j = 0; j < contours.size(); j++)
{
string name = to_string(a) + “.jpg“;
Rect r = boundingRect(contours[j]);
rectangle(srcImage r Scalar(255));
in = srcImage(r);
//resize(in out Size(240 240) 0 0 INTER_NEAREST);
imwrite(name in);
a++;
}
waitKey(0);
}
}



 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2018-03-08 15:09  连通域\
     目录           0  2017-12-08 16:17  连通域\.vs\
     目录           0  2017-12-08 16:17  连通域\.vs\测试\
     目录           0  2017-12-08 16:17  连通域\.vs\测试\v14\
     文件       33280  2018-03-08 15:09  连通域\.vs\测试\v14\.suo
     目录           0  2017-12-22 11:48  连通域\Debug\
     目录           0  2017-12-22 13:11  连通域\text\
     文件    15116598  2017-11-08 17:28  连通域\text\1.BMP
     文件    15116598  2017-11-08 17:39  连通域\text\10.BMP
     文件    15116598  2017-11-08 17:30  连通域\text\2.BMP
     文件    15116598  2017-11-08 17:31  连通域\text\3.BMP
     文件    15116598  2017-11-08 17:32  连通域\text\4.BMP
     文件    15116598  2017-11-08 17:33  连通域\text\5.BMP
     文件    15116598  2017-11-08 17:34  连通域\text\6.BMP
     文件    15116598  2017-11-08 17:35  连通域\text\7.BMP
     文件    15116598  2017-11-08 17:37  连通域\text\8.BMP
     文件    15116598  2017-11-08 17:38  连通域\text\9.BMP
     目录           0  2017-12-28 09:17  连通域\x64\
     目录           0  2017-12-28 09:14  连通域\x64\Debug\
     文件      187392  2017-12-28 09:14  连通域\x64\Debug\测试.exe
     文件      776320  2017-12-28 09:14  连通域\x64\Debug\测试.ilk
     文件     3682304  2017-12-28 09:14  连通域\x64\Debug\测试.pdb
     目录           0  2017-12-28 09:17  连通域\x64\Release\
     文件       37376  2018-01-20 09:45  连通域\x64\Release\测试.exe
     文件      729307  2018-01-20 09:45  连通域\x64\Release\测试.iobj
     文件      272480  2018-01-20 09:45  连通域\x64\Release\测试.ipdb
     文件     2224128  2018-01-20 09:45  连通域\x64\Release\测试.pdb
     目录           0  2018-03-21 10:26  连通域\测试\
     文件        1300  2017-12-08 16:17  连通域\测试.sln
     文件    40271872  2018-03-08 15:09  连通域\测试.VC.db
     文件        2744  2018-03-21 10:27  连通域\测试\测试.cpp
............此处省略2个文件信息

评论

共有 条评论

相关资源