Files
admin d6aeede2bc 导入 XuXuCheck 工程(iOS 干化学尿液试纸分析 App)
从桌面工程复制而来,作为本仓库的 Xuxucheck/ 子目录。

为控制仓库体积做了两处删减:
- 移除 Frameworks/opencv2.xcframework 下的两个 visionOS 切片
  (xros-arm64、xros-arm64-simulator,合计约 106 MB),并同步删掉该
  xcframework 内 Info.plist 里对应的两条 AvailableLibraries 记录,
  只保留 ios-arm64 与 ios-arm64_x86_64-simulator。
- 移除全部 .DS_Store 与 xcuserdata/。

已用 xcodebuild 从本目录完整编译验证:BUILD SUCCEEDED,
ProcessXCFramework 以 --platform ios 成功选中框架,产物含 3699 个 cv:: 符号
(OpenCV 确实链入),嵌入 framework 3 个,与移除无用 pod 之后的状态一致。

仓库约 206 MB,其中 OpenCV 203 MB、其余源码与依赖约 3 MB。
2026-09-23 14:17:31 +08:00

131 lines
2.6 KiB
C++

#ifndef __CONTOURGF_EXTEND_H__
#define __CONTOURGF_EXTEND_H__
#include "ContourGf.h"
class ContourGfExtend :public ContourGf
{
public:
ContourGfExtend():ContourGf()
{
contourAspectRatio=0.0;
contourRectangularity=0.0;
contourGrayValue=0;
colorPercentage[0]=0.0;
colorPercentage[1]=0.0;
colorPercentage[2]=0.0;
}
ContourGfExtend(double contourAspectRatio,
double contourRectangularity,
int contourGrayValue):ContourGf()
{
this->contourAspectRatio=contourAspectRatio;
this->contourRectangularity=contourRectangularity;
this->contourGrayValue=contourGrayValue;
}
ContourGfExtend(double contourAspectRatio,
double contourRectangularity,
int contourGrayValue,
int contourPerimeter,
int contourArea,
cv::Point& contourCenter,
cv::Point& leftTop,
cv::Point& rightBottom)
:
ContourGf(contourPerimeter,
contourArea,
contourCenter,
leftTop,
rightBottom)
{
this->contourAspectRatio=contourAspectRatio;
this->contourRectangularity=contourRectangularity;
this->contourGrayValue=contourGrayValue;
}
~ContourGfExtend(){}
private:
double contourAspectRatio;
double contourRectangularity;
int contourGrayValue;
cv::RotatedRect rotRect;
int contourIndex;
cv::Size size;//选择矩形的宽和高
double colorPercentage[3];//颜色比例,rgb
public:
void setColorPercentage(double v1,double v2,double v3)
{
colorPercentage[0]=v1;
colorPercentage[1]=v2;
colorPercentage[2]=v3;
}
double getColorPercentage(int vIndex)
{
return colorPercentage[vIndex];
}
double getContourAspectRatio()
{
return contourAspectRatio;
}
void setContourAspectRatio(double contourAspectRatio)
{
this->contourAspectRatio=contourAspectRatio;
}
double getContourRectangularity()
{
return contourRectangularity;
}
void setContourRectangularity(double contourRectangularity)
{
this->contourRectangularity=contourRectangularity;
}
int getContourGrayValue()
{
return contourGrayValue;
}
void setContourGrayValue(int contourGrayValue)
{
this->contourGrayValue=contourGrayValue;
}
const cv::RotatedRect& getRotatedRect()
{
return rotRect;
}
void setRotatedRect(const cv::RotatedRect& rotRect)
{
this->rotRect=rotRect;
}
const int getRotRectArea()
{
return rotRect.size.width * rotRect.size.height;
}
void setContourIndex(int contourIndex)
{
this->contourIndex=contourIndex;
}
int getContourIndex()
{
return contourIndex;
}
void setSize(cv::Size size)
{
this->size=size;
}
const cv::Size& getSize()
{
return size;
}
};
#endif