svm과 머신러닝
This commit is contained in:
		| @@ -99,6 +99,16 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "matching", "ch14\matching\m | |||||||
| EndProject | EndProject | ||||||
| Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "stitching", "Homework\stitching\stitching.vcxproj", "{16DCB3B7-0FDC-43AD-902E-196F0F94DD02}" | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "stitching", "Homework\stitching\stitching.vcxproj", "{16DCB3B7-0FDC-43AD-902E-196F0F94DD02}" | ||||||
| EndProject | EndProject | ||||||
|  | Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "ch15", "ch15", "{CCC97EA5-97BB-4D09-BF37-E5E4A2121DCF}" | ||||||
|  | EndProject | ||||||
|  | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "knnplane", "ch15\knnplane\knnplane.vcxproj", "{276520F2-0DBF-4CED-8C0C-B51ED16D493E}" | ||||||
|  | EndProject | ||||||
|  | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "knndigits", "ch15\knndigits\knndigits.vcxproj", "{123FE185-68CE-4E6E-B5D6-384980997681}" | ||||||
|  | EndProject | ||||||
|  | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "svmplane", "ch15\svmplane\svmplane.vcxproj", "{773FC1DE-F4AD-4771-B624-1A6997E8EA6A}" | ||||||
|  | EndProject | ||||||
|  | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "svmdigits", "ch15\svmdigits\svmdigits.vcxproj", "{3FAC1456-4F85-4254-97D9-86667B64B217}" | ||||||
|  | EndProject | ||||||
| Global | Global | ||||||
| 	GlobalSection(SolutionConfigurationPlatforms) = preSolution | 	GlobalSection(SolutionConfigurationPlatforms) = preSolution | ||||||
| 		Debug|x64 = Debug|x64 | 		Debug|x64 = Debug|x64 | ||||||
| @@ -379,6 +389,38 @@ Global | |||||||
| 		{16DCB3B7-0FDC-43AD-902E-196F0F94DD02}.Release|x64.Build.0 = Release|x64 | 		{16DCB3B7-0FDC-43AD-902E-196F0F94DD02}.Release|x64.Build.0 = Release|x64 | ||||||
| 		{16DCB3B7-0FDC-43AD-902E-196F0F94DD02}.Release|x86.ActiveCfg = Release|Win32 | 		{16DCB3B7-0FDC-43AD-902E-196F0F94DD02}.Release|x86.ActiveCfg = Release|Win32 | ||||||
| 		{16DCB3B7-0FDC-43AD-902E-196F0F94DD02}.Release|x86.Build.0 = Release|Win32 | 		{16DCB3B7-0FDC-43AD-902E-196F0F94DD02}.Release|x86.Build.0 = Release|Win32 | ||||||
|  | 		{276520F2-0DBF-4CED-8C0C-B51ED16D493E}.Debug|x64.ActiveCfg = Debug|x64 | ||||||
|  | 		{276520F2-0DBF-4CED-8C0C-B51ED16D493E}.Debug|x64.Build.0 = Debug|x64 | ||||||
|  | 		{276520F2-0DBF-4CED-8C0C-B51ED16D493E}.Debug|x86.ActiveCfg = Debug|Win32 | ||||||
|  | 		{276520F2-0DBF-4CED-8C0C-B51ED16D493E}.Debug|x86.Build.0 = Debug|Win32 | ||||||
|  | 		{276520F2-0DBF-4CED-8C0C-B51ED16D493E}.Release|x64.ActiveCfg = Release|x64 | ||||||
|  | 		{276520F2-0DBF-4CED-8C0C-B51ED16D493E}.Release|x64.Build.0 = Release|x64 | ||||||
|  | 		{276520F2-0DBF-4CED-8C0C-B51ED16D493E}.Release|x86.ActiveCfg = Release|Win32 | ||||||
|  | 		{276520F2-0DBF-4CED-8C0C-B51ED16D493E}.Release|x86.Build.0 = Release|Win32 | ||||||
|  | 		{123FE185-68CE-4E6E-B5D6-384980997681}.Debug|x64.ActiveCfg = Debug|x64 | ||||||
|  | 		{123FE185-68CE-4E6E-B5D6-384980997681}.Debug|x64.Build.0 = Debug|x64 | ||||||
|  | 		{123FE185-68CE-4E6E-B5D6-384980997681}.Debug|x86.ActiveCfg = Debug|Win32 | ||||||
|  | 		{123FE185-68CE-4E6E-B5D6-384980997681}.Debug|x86.Build.0 = Debug|Win32 | ||||||
|  | 		{123FE185-68CE-4E6E-B5D6-384980997681}.Release|x64.ActiveCfg = Release|x64 | ||||||
|  | 		{123FE185-68CE-4E6E-B5D6-384980997681}.Release|x64.Build.0 = Release|x64 | ||||||
|  | 		{123FE185-68CE-4E6E-B5D6-384980997681}.Release|x86.ActiveCfg = Release|Win32 | ||||||
|  | 		{123FE185-68CE-4E6E-B5D6-384980997681}.Release|x86.Build.0 = Release|Win32 | ||||||
|  | 		{773FC1DE-F4AD-4771-B624-1A6997E8EA6A}.Debug|x64.ActiveCfg = Debug|x64 | ||||||
|  | 		{773FC1DE-F4AD-4771-B624-1A6997E8EA6A}.Debug|x64.Build.0 = Debug|x64 | ||||||
|  | 		{773FC1DE-F4AD-4771-B624-1A6997E8EA6A}.Debug|x86.ActiveCfg = Debug|Win32 | ||||||
|  | 		{773FC1DE-F4AD-4771-B624-1A6997E8EA6A}.Debug|x86.Build.0 = Debug|Win32 | ||||||
|  | 		{773FC1DE-F4AD-4771-B624-1A6997E8EA6A}.Release|x64.ActiveCfg = Release|x64 | ||||||
|  | 		{773FC1DE-F4AD-4771-B624-1A6997E8EA6A}.Release|x64.Build.0 = Release|x64 | ||||||
|  | 		{773FC1DE-F4AD-4771-B624-1A6997E8EA6A}.Release|x86.ActiveCfg = Release|Win32 | ||||||
|  | 		{773FC1DE-F4AD-4771-B624-1A6997E8EA6A}.Release|x86.Build.0 = Release|Win32 | ||||||
|  | 		{3FAC1456-4F85-4254-97D9-86667B64B217}.Debug|x64.ActiveCfg = Debug|x64 | ||||||
|  | 		{3FAC1456-4F85-4254-97D9-86667B64B217}.Debug|x64.Build.0 = Debug|x64 | ||||||
|  | 		{3FAC1456-4F85-4254-97D9-86667B64B217}.Debug|x86.ActiveCfg = Debug|Win32 | ||||||
|  | 		{3FAC1456-4F85-4254-97D9-86667B64B217}.Debug|x86.Build.0 = Debug|Win32 | ||||||
|  | 		{3FAC1456-4F85-4254-97D9-86667B64B217}.Release|x64.ActiveCfg = Release|x64 | ||||||
|  | 		{3FAC1456-4F85-4254-97D9-86667B64B217}.Release|x64.Build.0 = Release|x64 | ||||||
|  | 		{3FAC1456-4F85-4254-97D9-86667B64B217}.Release|x86.ActiveCfg = Release|Win32 | ||||||
|  | 		{3FAC1456-4F85-4254-97D9-86667B64B217}.Release|x86.Build.0 = Release|Win32 | ||||||
| 	EndGlobalSection | 	EndGlobalSection | ||||||
| 	GlobalSection(SolutionProperties) = preSolution | 	GlobalSection(SolutionProperties) = preSolution | ||||||
| 		HideSolutionNode = FALSE | 		HideSolutionNode = FALSE | ||||||
| @@ -418,6 +460,10 @@ Global | |||||||
| 		{0A03E1F6-AE40-4F86-B0E6-152B7D6C7820} = {9DEF9106-146A-4E03-B4E3-9CF41F9844DC} | 		{0A03E1F6-AE40-4F86-B0E6-152B7D6C7820} = {9DEF9106-146A-4E03-B4E3-9CF41F9844DC} | ||||||
| 		{2345724D-8858-4CBF-A8E4-98947BC56DF1} = {9DEF9106-146A-4E03-B4E3-9CF41F9844DC} | 		{2345724D-8858-4CBF-A8E4-98947BC56DF1} = {9DEF9106-146A-4E03-B4E3-9CF41F9844DC} | ||||||
| 		{16DCB3B7-0FDC-43AD-902E-196F0F94DD02} = {E583E257-9FCE-4A4B-A554-8514F982D1BF} | 		{16DCB3B7-0FDC-43AD-902E-196F0F94DD02} = {E583E257-9FCE-4A4B-A554-8514F982D1BF} | ||||||
|  | 		{276520F2-0DBF-4CED-8C0C-B51ED16D493E} = {CCC97EA5-97BB-4D09-BF37-E5E4A2121DCF} | ||||||
|  | 		{123FE185-68CE-4E6E-B5D6-384980997681} = {CCC97EA5-97BB-4D09-BF37-E5E4A2121DCF} | ||||||
|  | 		{773FC1DE-F4AD-4771-B624-1A6997E8EA6A} = {CCC97EA5-97BB-4D09-BF37-E5E4A2121DCF} | ||||||
|  | 		{3FAC1456-4F85-4254-97D9-86667B64B217} = {CCC97EA5-97BB-4D09-BF37-E5E4A2121DCF} | ||||||
| 	EndGlobalSection | 	EndGlobalSection | ||||||
| 	GlobalSection(ExtensibilityGlobals) = postSolution | 	GlobalSection(ExtensibilityGlobals) = postSolution | ||||||
| 		SolutionGuid = {E1A0C3F4-F16D-4626-86CE-D8484C0C776D} | 		SolutionGuid = {E1A0C3F4-F16D-4626-86CE-D8484C0C776D} | ||||||
|   | |||||||
							
								
								
									
										142
									
								
								ch15/knndigits/knndigits.vcxproj
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										142
									
								
								ch15/knndigits/knndigits.vcxproj
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,142 @@ | |||||||
|  | <?xml version="1.0" encoding="utf-8"?> | ||||||
|  | <Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | ||||||
|  |   <ItemGroup Label="ProjectConfigurations"> | ||||||
|  |     <ProjectConfiguration Include="Debug|Win32"> | ||||||
|  |       <Configuration>Debug</Configuration> | ||||||
|  |       <Platform>Win32</Platform> | ||||||
|  |     </ProjectConfiguration> | ||||||
|  |     <ProjectConfiguration Include="Release|Win32"> | ||||||
|  |       <Configuration>Release</Configuration> | ||||||
|  |       <Platform>Win32</Platform> | ||||||
|  |     </ProjectConfiguration> | ||||||
|  |     <ProjectConfiguration Include="Debug|x64"> | ||||||
|  |       <Configuration>Debug</Configuration> | ||||||
|  |       <Platform>x64</Platform> | ||||||
|  |     </ProjectConfiguration> | ||||||
|  |     <ProjectConfiguration Include="Release|x64"> | ||||||
|  |       <Configuration>Release</Configuration> | ||||||
|  |       <Platform>x64</Platform> | ||||||
|  |     </ProjectConfiguration> | ||||||
|  |   </ItemGroup> | ||||||
|  |   <PropertyGroup Label="Globals"> | ||||||
|  |     <VCProjectVersion>17.0</VCProjectVersion> | ||||||
|  |     <Keyword>Win32Proj</Keyword> | ||||||
|  |     <ProjectGuid>{123fe185-68ce-4e6e-b5d6-384980997681}</ProjectGuid> | ||||||
|  |     <RootNamespace>knndigits</RootNamespace> | ||||||
|  |     <WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion> | ||||||
|  |   </PropertyGroup> | ||||||
|  |   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> | ||||||
|  |   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration"> | ||||||
|  |     <ConfigurationType>Application</ConfigurationType> | ||||||
|  |     <UseDebugLibraries>true</UseDebugLibraries> | ||||||
|  |     <PlatformToolset>v143</PlatformToolset> | ||||||
|  |     <CharacterSet>Unicode</CharacterSet> | ||||||
|  |   </PropertyGroup> | ||||||
|  |   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration"> | ||||||
|  |     <ConfigurationType>Application</ConfigurationType> | ||||||
|  |     <UseDebugLibraries>false</UseDebugLibraries> | ||||||
|  |     <PlatformToolset>v143</PlatformToolset> | ||||||
|  |     <WholeProgramOptimization>true</WholeProgramOptimization> | ||||||
|  |     <CharacterSet>Unicode</CharacterSet> | ||||||
|  |   </PropertyGroup> | ||||||
|  |   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration"> | ||||||
|  |     <ConfigurationType>Application</ConfigurationType> | ||||||
|  |     <UseDebugLibraries>true</UseDebugLibraries> | ||||||
|  |     <PlatformToolset>v143</PlatformToolset> | ||||||
|  |     <CharacterSet>Unicode</CharacterSet> | ||||||
|  |   </PropertyGroup> | ||||||
|  |   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration"> | ||||||
|  |     <ConfigurationType>Application</ConfigurationType> | ||||||
|  |     <UseDebugLibraries>false</UseDebugLibraries> | ||||||
|  |     <PlatformToolset>v143</PlatformToolset> | ||||||
|  |     <WholeProgramOptimization>true</WholeProgramOptimization> | ||||||
|  |     <CharacterSet>Unicode</CharacterSet> | ||||||
|  |   </PropertyGroup> | ||||||
|  |   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> | ||||||
|  |   <ImportGroup Label="ExtensionSettings"> | ||||||
|  |   </ImportGroup> | ||||||
|  |   <ImportGroup Label="Shared"> | ||||||
|  |   </ImportGroup> | ||||||
|  |   <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> | ||||||
|  |     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> | ||||||
|  |     <Import Project="..\..\OPENCV4110_debug.props" /> | ||||||
|  |   </ImportGroup> | ||||||
|  |   <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> | ||||||
|  |     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> | ||||||
|  |     <Import Project="..\..\OPENCV4110_release.props" /> | ||||||
|  |   </ImportGroup> | ||||||
|  |   <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> | ||||||
|  |     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> | ||||||
|  |     <Import Project="..\..\OPENCV4110_debug.props" /> | ||||||
|  |   </ImportGroup> | ||||||
|  |   <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> | ||||||
|  |     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> | ||||||
|  |     <Import Project="..\..\OPENCV4110_release.props" /> | ||||||
|  |   </ImportGroup> | ||||||
|  |   <PropertyGroup Label="UserMacros" /> | ||||||
|  |   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> | ||||||
|  |     <ClCompile> | ||||||
|  |       <WarningLevel>Level3</WarningLevel> | ||||||
|  |       <SDLCheck>true</SDLCheck> | ||||||
|  |       <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> | ||||||
|  |       <ConformanceMode>true</ConformanceMode> | ||||||
|  |     </ClCompile> | ||||||
|  |     <Link> | ||||||
|  |       <SubSystem>Console</SubSystem> | ||||||
|  |       <GenerateDebugInformation>true</GenerateDebugInformation> | ||||||
|  |     </Link> | ||||||
|  |   </ItemDefinitionGroup> | ||||||
|  |   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> | ||||||
|  |     <ClCompile> | ||||||
|  |       <WarningLevel>Level3</WarningLevel> | ||||||
|  |       <FunctionLevelLinking>true</FunctionLevelLinking> | ||||||
|  |       <IntrinsicFunctions>true</IntrinsicFunctions> | ||||||
|  |       <SDLCheck>true</SDLCheck> | ||||||
|  |       <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> | ||||||
|  |       <ConformanceMode>true</ConformanceMode> | ||||||
|  |     </ClCompile> | ||||||
|  |     <Link> | ||||||
|  |       <SubSystem>Console</SubSystem> | ||||||
|  |       <EnableCOMDATFolding>true</EnableCOMDATFolding> | ||||||
|  |       <OptimizeReferences>true</OptimizeReferences> | ||||||
|  |       <GenerateDebugInformation>true</GenerateDebugInformation> | ||||||
|  |     </Link> | ||||||
|  |   </ItemDefinitionGroup> | ||||||
|  |   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> | ||||||
|  |     <ClCompile> | ||||||
|  |       <WarningLevel>Level3</WarningLevel> | ||||||
|  |       <SDLCheck>true</SDLCheck> | ||||||
|  |       <PreprocessorDefinitions>_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> | ||||||
|  |       <ConformanceMode>true</ConformanceMode> | ||||||
|  |     </ClCompile> | ||||||
|  |     <Link> | ||||||
|  |       <SubSystem>Console</SubSystem> | ||||||
|  |       <GenerateDebugInformation>true</GenerateDebugInformation> | ||||||
|  |     </Link> | ||||||
|  |   </ItemDefinitionGroup> | ||||||
|  |   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> | ||||||
|  |     <ClCompile> | ||||||
|  |       <WarningLevel>Level3</WarningLevel> | ||||||
|  |       <FunctionLevelLinking>true</FunctionLevelLinking> | ||||||
|  |       <IntrinsicFunctions>true</IntrinsicFunctions> | ||||||
|  |       <SDLCheck>true</SDLCheck> | ||||||
|  |       <PreprocessorDefinitions>NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> | ||||||
|  |       <ConformanceMode>true</ConformanceMode> | ||||||
|  |     </ClCompile> | ||||||
|  |     <Link> | ||||||
|  |       <SubSystem>Console</SubSystem> | ||||||
|  |       <EnableCOMDATFolding>true</EnableCOMDATFolding> | ||||||
|  |       <OptimizeReferences>true</OptimizeReferences> | ||||||
|  |       <GenerateDebugInformation>true</GenerateDebugInformation> | ||||||
|  |     </Link> | ||||||
|  |   </ItemDefinitionGroup> | ||||||
|  |   <ItemGroup> | ||||||
|  |     <ClCompile Include="main.cpp" /> | ||||||
|  |   </ItemGroup> | ||||||
|  |   <ItemGroup> | ||||||
|  |     <Image Include="..\..\resources\images\digits.png" /> | ||||||
|  |   </ItemGroup> | ||||||
|  |   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> | ||||||
|  |   <ImportGroup Label="ExtensionTargets"> | ||||||
|  |   </ImportGroup> | ||||||
|  | </Project> | ||||||
							
								
								
									
										27
									
								
								ch15/knndigits/knndigits.vcxproj.filters
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										27
									
								
								ch15/knndigits/knndigits.vcxproj.filters
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,27 @@ | |||||||
|  | <?xml version="1.0" encoding="utf-8"?> | ||||||
|  | <Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | ||||||
|  |   <ItemGroup> | ||||||
|  |     <Filter Include="소스 파일"> | ||||||
|  |       <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier> | ||||||
|  |       <Extensions>cpp;c;cc;cxx;c++;cppm;ixx;def;odl;idl;hpj;bat;asm;asmx</Extensions> | ||||||
|  |     </Filter> | ||||||
|  |     <Filter Include="헤더 파일"> | ||||||
|  |       <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier> | ||||||
|  |       <Extensions>h;hh;hpp;hxx;h++;hm;inl;inc;ipp;xsd</Extensions> | ||||||
|  |     </Filter> | ||||||
|  |     <Filter Include="리소스 파일"> | ||||||
|  |       <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier> | ||||||
|  |       <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions> | ||||||
|  |     </Filter> | ||||||
|  |   </ItemGroup> | ||||||
|  |   <ItemGroup> | ||||||
|  |     <ClCompile Include="main.cpp"> | ||||||
|  |       <Filter>소스 파일</Filter> | ||||||
|  |     </ClCompile> | ||||||
|  |   </ItemGroup> | ||||||
|  |   <ItemGroup> | ||||||
|  |     <Image Include="..\..\resources\images\digits.png"> | ||||||
|  |       <Filter>리소스 파일</Filter> | ||||||
|  |     </Image> | ||||||
|  |   </ItemGroup> | ||||||
|  | </Project> | ||||||
							
								
								
									
										83
									
								
								ch15/knndigits/main.cpp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										83
									
								
								ch15/knndigits/main.cpp
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,83 @@ | |||||||
|  | #include "opencv2/opencv.hpp" | ||||||
|  | #include <iostream> | ||||||
|  |  | ||||||
|  | using namespace cv; | ||||||
|  | using namespace cv::ml; | ||||||
|  | using namespace std; | ||||||
|  |  | ||||||
|  | Ptr<KNearest> train_knn(); | ||||||
|  |  | ||||||
|  | void on_mouse(int event, int x, int y, int flags, void* userdata); | ||||||
|  |  | ||||||
|  | int main() { | ||||||
|  | 	Ptr<KNearest> knn = train_knn(); | ||||||
|  |  | ||||||
|  | 	Mat img = Mat::zeros(400, 400, CV_8U); | ||||||
|  |  | ||||||
|  | 	imshow("img", img); | ||||||
|  | 	setMouseCallback("img", on_mouse, (void*)&img); | ||||||
|  |  | ||||||
|  | 	while (true) { | ||||||
|  | 		int c = waitKey(0); | ||||||
|  |  | ||||||
|  | 		if (c == 27) | ||||||
|  | 			break; | ||||||
|  | 		else if (c == ' ') { | ||||||
|  | 			Mat img_resize, img_float, img_flatten, res; | ||||||
|  |  | ||||||
|  | 			resize(img, img_resize, Size(20, 20), 0, 0, INTER_AREA); | ||||||
|  | 			img_resize.convertTo(img_float, CV_32F); | ||||||
|  | 			img_flatten = img_float.reshape(1, 1); | ||||||
|  |  | ||||||
|  | 			knn->findNearest(img_flatten, 3, res); | ||||||
|  | 			cout << cvRound(res.at<float>(0, 0)) << endl; | ||||||
|  |  | ||||||
|  | 			img.setTo(0); | ||||||
|  | 			imshow("img", img); | ||||||
|  | 		} | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  | 	return 0; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | Ptr<KNearest> train_knn() { | ||||||
|  | 	Mat digits = imread("../../resources/images/digits.png", IMREAD_GRAYSCALE); | ||||||
|  |  | ||||||
|  | 	Mat train_images, train_labels; | ||||||
|  |  | ||||||
|  | 	for (int j = 0; j < 50; j++) { | ||||||
|  | 		for (int i = 0; i < 100; i++) { | ||||||
|  | 			Mat roi, roi_float, roi_flatten; | ||||||
|  | 			roi = digits(Rect(i * 20, j * 20, 20, 20)); | ||||||
|  | 			roi.convertTo(roi_float, CV_32F); | ||||||
|  | 			roi_flatten = roi_float.reshape(1, 1); | ||||||
|  |  | ||||||
|  | 			train_images.push_back(roi_flatten); | ||||||
|  | 			train_labels.push_back(j / 5); | ||||||
|  | 		} | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  | 	Ptr<KNearest> knn = KNearest::create(); | ||||||
|  | 	knn->train(train_images, ROW_SAMPLE, train_labels); | ||||||
|  |  | ||||||
|  | 	return knn; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | Point ptPrev(-1, -1); | ||||||
|  |  | ||||||
|  | void on_mouse(int event, int x, int y, int flags, void* userdata) { | ||||||
|  | 	Mat img = *(Mat*)userdata; | ||||||
|  |  | ||||||
|  | 	if (event == EVENT_LBUTTONDOWN) { | ||||||
|  | 		ptPrev = Point(x, y); | ||||||
|  | 	} | ||||||
|  | 	else if (event == EVENT_LBUTTONUP) { | ||||||
|  | 		ptPrev = Point(-1, -1); | ||||||
|  | 	} | ||||||
|  | 	else if (event == EVENT_MOUSEMOVE && (flags & EVENT_FLAG_LBUTTON)) { | ||||||
|  | 		line(img, ptPrev, Point(x, y), Scalar::all(255), 40, LINE_AA, 0); | ||||||
|  | 		ptPrev = Point(x, y); | ||||||
|  |  | ||||||
|  | 		imshow("img", img); | ||||||
|  | 	} | ||||||
|  | } | ||||||
							
								
								
									
										139
									
								
								ch15/knnplane/knnplane.vcxproj
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										139
									
								
								ch15/knnplane/knnplane.vcxproj
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,139 @@ | |||||||
|  | <?xml version="1.0" encoding="utf-8"?> | ||||||
|  | <Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | ||||||
|  |   <ItemGroup Label="ProjectConfigurations"> | ||||||
|  |     <ProjectConfiguration Include="Debug|Win32"> | ||||||
|  |       <Configuration>Debug</Configuration> | ||||||
|  |       <Platform>Win32</Platform> | ||||||
|  |     </ProjectConfiguration> | ||||||
|  |     <ProjectConfiguration Include="Release|Win32"> | ||||||
|  |       <Configuration>Release</Configuration> | ||||||
|  |       <Platform>Win32</Platform> | ||||||
|  |     </ProjectConfiguration> | ||||||
|  |     <ProjectConfiguration Include="Debug|x64"> | ||||||
|  |       <Configuration>Debug</Configuration> | ||||||
|  |       <Platform>x64</Platform> | ||||||
|  |     </ProjectConfiguration> | ||||||
|  |     <ProjectConfiguration Include="Release|x64"> | ||||||
|  |       <Configuration>Release</Configuration> | ||||||
|  |       <Platform>x64</Platform> | ||||||
|  |     </ProjectConfiguration> | ||||||
|  |   </ItemGroup> | ||||||
|  |   <PropertyGroup Label="Globals"> | ||||||
|  |     <VCProjectVersion>17.0</VCProjectVersion> | ||||||
|  |     <Keyword>Win32Proj</Keyword> | ||||||
|  |     <ProjectGuid>{276520f2-0dbf-4ced-8c0c-b51ed16d493e}</ProjectGuid> | ||||||
|  |     <RootNamespace>knnplane</RootNamespace> | ||||||
|  |     <WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion> | ||||||
|  |   </PropertyGroup> | ||||||
|  |   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> | ||||||
|  |   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration"> | ||||||
|  |     <ConfigurationType>Application</ConfigurationType> | ||||||
|  |     <UseDebugLibraries>true</UseDebugLibraries> | ||||||
|  |     <PlatformToolset>v143</PlatformToolset> | ||||||
|  |     <CharacterSet>Unicode</CharacterSet> | ||||||
|  |   </PropertyGroup> | ||||||
|  |   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration"> | ||||||
|  |     <ConfigurationType>Application</ConfigurationType> | ||||||
|  |     <UseDebugLibraries>false</UseDebugLibraries> | ||||||
|  |     <PlatformToolset>v143</PlatformToolset> | ||||||
|  |     <WholeProgramOptimization>true</WholeProgramOptimization> | ||||||
|  |     <CharacterSet>Unicode</CharacterSet> | ||||||
|  |   </PropertyGroup> | ||||||
|  |   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration"> | ||||||
|  |     <ConfigurationType>Application</ConfigurationType> | ||||||
|  |     <UseDebugLibraries>true</UseDebugLibraries> | ||||||
|  |     <PlatformToolset>v143</PlatformToolset> | ||||||
|  |     <CharacterSet>Unicode</CharacterSet> | ||||||
|  |   </PropertyGroup> | ||||||
|  |   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration"> | ||||||
|  |     <ConfigurationType>Application</ConfigurationType> | ||||||
|  |     <UseDebugLibraries>false</UseDebugLibraries> | ||||||
|  |     <PlatformToolset>v143</PlatformToolset> | ||||||
|  |     <WholeProgramOptimization>true</WholeProgramOptimization> | ||||||
|  |     <CharacterSet>Unicode</CharacterSet> | ||||||
|  |   </PropertyGroup> | ||||||
|  |   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> | ||||||
|  |   <ImportGroup Label="ExtensionSettings"> | ||||||
|  |   </ImportGroup> | ||||||
|  |   <ImportGroup Label="Shared"> | ||||||
|  |   </ImportGroup> | ||||||
|  |   <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> | ||||||
|  |     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> | ||||||
|  |     <Import Project="..\..\OPENCV4110_debug.props" /> | ||||||
|  |   </ImportGroup> | ||||||
|  |   <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> | ||||||
|  |     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> | ||||||
|  |     <Import Project="..\..\OPENCV4110_release.props" /> | ||||||
|  |   </ImportGroup> | ||||||
|  |   <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> | ||||||
|  |     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> | ||||||
|  |     <Import Project="..\..\OPENCV4110_debug.props" /> | ||||||
|  |   </ImportGroup> | ||||||
|  |   <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> | ||||||
|  |     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> | ||||||
|  |     <Import Project="..\..\OPENCV4110_release.props" /> | ||||||
|  |   </ImportGroup> | ||||||
|  |   <PropertyGroup Label="UserMacros" /> | ||||||
|  |   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> | ||||||
|  |     <ClCompile> | ||||||
|  |       <WarningLevel>Level3</WarningLevel> | ||||||
|  |       <SDLCheck>true</SDLCheck> | ||||||
|  |       <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> | ||||||
|  |       <ConformanceMode>true</ConformanceMode> | ||||||
|  |     </ClCompile> | ||||||
|  |     <Link> | ||||||
|  |       <SubSystem>Console</SubSystem> | ||||||
|  |       <GenerateDebugInformation>true</GenerateDebugInformation> | ||||||
|  |     </Link> | ||||||
|  |   </ItemDefinitionGroup> | ||||||
|  |   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> | ||||||
|  |     <ClCompile> | ||||||
|  |       <WarningLevel>Level3</WarningLevel> | ||||||
|  |       <FunctionLevelLinking>true</FunctionLevelLinking> | ||||||
|  |       <IntrinsicFunctions>true</IntrinsicFunctions> | ||||||
|  |       <SDLCheck>true</SDLCheck> | ||||||
|  |       <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> | ||||||
|  |       <ConformanceMode>true</ConformanceMode> | ||||||
|  |     </ClCompile> | ||||||
|  |     <Link> | ||||||
|  |       <SubSystem>Console</SubSystem> | ||||||
|  |       <EnableCOMDATFolding>true</EnableCOMDATFolding> | ||||||
|  |       <OptimizeReferences>true</OptimizeReferences> | ||||||
|  |       <GenerateDebugInformation>true</GenerateDebugInformation> | ||||||
|  |     </Link> | ||||||
|  |   </ItemDefinitionGroup> | ||||||
|  |   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> | ||||||
|  |     <ClCompile> | ||||||
|  |       <WarningLevel>Level3</WarningLevel> | ||||||
|  |       <SDLCheck>true</SDLCheck> | ||||||
|  |       <PreprocessorDefinitions>_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> | ||||||
|  |       <ConformanceMode>true</ConformanceMode> | ||||||
|  |     </ClCompile> | ||||||
|  |     <Link> | ||||||
|  |       <SubSystem>Console</SubSystem> | ||||||
|  |       <GenerateDebugInformation>true</GenerateDebugInformation> | ||||||
|  |     </Link> | ||||||
|  |   </ItemDefinitionGroup> | ||||||
|  |   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> | ||||||
|  |     <ClCompile> | ||||||
|  |       <WarningLevel>Level3</WarningLevel> | ||||||
|  |       <FunctionLevelLinking>true</FunctionLevelLinking> | ||||||
|  |       <IntrinsicFunctions>true</IntrinsicFunctions> | ||||||
|  |       <SDLCheck>true</SDLCheck> | ||||||
|  |       <PreprocessorDefinitions>NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> | ||||||
|  |       <ConformanceMode>true</ConformanceMode> | ||||||
|  |     </ClCompile> | ||||||
|  |     <Link> | ||||||
|  |       <SubSystem>Console</SubSystem> | ||||||
|  |       <EnableCOMDATFolding>true</EnableCOMDATFolding> | ||||||
|  |       <OptimizeReferences>true</OptimizeReferences> | ||||||
|  |       <GenerateDebugInformation>true</GenerateDebugInformation> | ||||||
|  |     </Link> | ||||||
|  |   </ItemDefinitionGroup> | ||||||
|  |   <ItemGroup> | ||||||
|  |     <ClCompile Include="main.cpp" /> | ||||||
|  |   </ItemGroup> | ||||||
|  |   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> | ||||||
|  |   <ImportGroup Label="ExtensionTargets"> | ||||||
|  |   </ImportGroup> | ||||||
|  | </Project> | ||||||
							
								
								
									
										22
									
								
								ch15/knnplane/knnplane.vcxproj.filters
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										22
									
								
								ch15/knnplane/knnplane.vcxproj.filters
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,22 @@ | |||||||
|  | <?xml version="1.0" encoding="utf-8"?> | ||||||
|  | <Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | ||||||
|  |   <ItemGroup> | ||||||
|  |     <Filter Include="소스 파일"> | ||||||
|  |       <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier> | ||||||
|  |       <Extensions>cpp;c;cc;cxx;c++;cppm;ixx;def;odl;idl;hpj;bat;asm;asmx</Extensions> | ||||||
|  |     </Filter> | ||||||
|  |     <Filter Include="헤더 파일"> | ||||||
|  |       <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier> | ||||||
|  |       <Extensions>h;hh;hpp;hxx;h++;hm;inl;inc;ipp;xsd</Extensions> | ||||||
|  |     </Filter> | ||||||
|  |     <Filter Include="리소스 파일"> | ||||||
|  |       <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier> | ||||||
|  |       <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions> | ||||||
|  |     </Filter> | ||||||
|  |   </ItemGroup> | ||||||
|  |   <ItemGroup> | ||||||
|  |     <ClCompile Include="main.cpp"> | ||||||
|  |       <Filter>소스 파일</Filter> | ||||||
|  |     </ClCompile> | ||||||
|  |   </ItemGroup> | ||||||
|  | </Project> | ||||||
							
								
								
									
										98
									
								
								ch15/knnplane/main.cpp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										98
									
								
								ch15/knnplane/main.cpp
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,98 @@ | |||||||
|  | #include "opencv2/opencv.hpp" | ||||||
|  | #include <iostream> | ||||||
|  |  | ||||||
|  | using namespace cv; | ||||||
|  | using namespace cv::ml; | ||||||
|  | using namespace std; | ||||||
|  |  | ||||||
|  | Mat img; | ||||||
|  | Mat train, label; | ||||||
|  | Ptr<KNearest> knn; | ||||||
|  | int k_value = 1; | ||||||
|  |  | ||||||
|  | void on_k_changed(int k, void* userdata); | ||||||
|  | void addPoint(const Point& pt, int cls); | ||||||
|  | void trainAndDisplay(); | ||||||
|  |  | ||||||
|  | int main() { | ||||||
|  | 	img = Mat::zeros(Size(500, 500), CV_8UC3); | ||||||
|  | 	knn = KNearest::create(); | ||||||
|  |  | ||||||
|  | 	const int NUM = 30; | ||||||
|  | 	Mat rn(NUM, 2, CV_32SC1); | ||||||
|  |  | ||||||
|  | 	randn(rn, 0, 50); | ||||||
|  | 	for (int i = 0; i < NUM; i++) { | ||||||
|  | 		addPoint(Point(rn.at<int>(i, 0) + 150, rn.at<int>(i, 1) + 150), 0); | ||||||
|  | 	} | ||||||
|  | 	randn(rn, 0, 50); | ||||||
|  | 	for (int i = 0; i < NUM; i++) { | ||||||
|  | 		addPoint(Point(rn.at<int>(i, 0) + 350, rn.at<int>(i, 1) + 150), 1); | ||||||
|  | 	} | ||||||
|  | 	randn(rn, 0, 70); | ||||||
|  | 	for (int i = 0; i < NUM; i++) { | ||||||
|  | 		addPoint(Point(rn.at<int>(i, 0) + 250, rn.at<int>(i, 1) + 400), 2); | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  | 	namedWindow("knn"); | ||||||
|  | 	createTrackbar("k", "knn", &k_value, 10, on_k_changed); | ||||||
|  |  | ||||||
|  | 	trainAndDisplay(); | ||||||
|  |  | ||||||
|  | 	waitKey(); | ||||||
|  | 	destroyAllWindows(); | ||||||
|  | 	return 0; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | void on_k_changed(int k, void* userdata) { | ||||||
|  | 	if (k_value < 1) { | ||||||
|  | 		k_value = 1; | ||||||
|  | 	} else { | ||||||
|  | 		k_value = k; | ||||||
|  | 	} | ||||||
|  | 	trainAndDisplay(); | ||||||
|  | } | ||||||
|  |  | ||||||
|  | void addPoint(const Point& pt, int cls) { | ||||||
|  | 	Mat new_sample = (Mat_<float>(1, 2) << pt.x, pt.y); | ||||||
|  | 	train.push_back(new_sample); | ||||||
|  |  | ||||||
|  | 	Mat new_label = (Mat_<int>(1, 1) << cls); | ||||||
|  | 	label.push_back(new_label); | ||||||
|  | } | ||||||
|  |  | ||||||
|  | void trainAndDisplay() { | ||||||
|  | 	knn->train(train, ROW_SAMPLE, label); | ||||||
|  |  | ||||||
|  | 	for (int i = 0; i < img.rows; i++) { | ||||||
|  | 		for (int j = 0; j < img.cols; j++) { | ||||||
|  | 			Mat sample = (Mat_<float>(1, 2) << j, i); | ||||||
|  |  | ||||||
|  | 			Mat res; | ||||||
|  | 			knn->findNearest(sample, k_value, res); | ||||||
|  |  | ||||||
|  | 			int response = cvRound(res.at<float>(0, 0)); | ||||||
|  | 			if (response == 0) | ||||||
|  | 				img.at<Vec3b>(i, j) = Vec3b(128, 128, 255); | ||||||
|  | 			if (response == 1) | ||||||
|  | 				img.at<Vec3b>(i, j) = Vec3b(128, 255, 128); | ||||||
|  | 			if (response == 2) | ||||||
|  | 				img.at<Vec3b>(i, j) = Vec3b(255, 128, 128); | ||||||
|  | 		} | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  | 	for (int i = 0; i < train.rows; i++) { | ||||||
|  | 		int x = cvRound(train.at<float>(i, 0)); | ||||||
|  | 		int y = cvRound(train.at<float>(i, 1)); | ||||||
|  | 		int l = label.at<int>(i, 0); | ||||||
|  |  | ||||||
|  | 		if (l == 0) | ||||||
|  | 			circle(img, Point(x, y), 5, Scalar(0, 0, 128), -1, LINE_AA); | ||||||
|  | 		if (l == 1) | ||||||
|  | 			circle(img, Point(x, y), 5, Scalar(0, 128, 0), -1, LINE_AA); | ||||||
|  | 		if (l == 2) | ||||||
|  | 			circle(img, Point(x, y), 5, Scalar(128, 0, 0), -1, LINE_AA); | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  | 	imshow("knn", img); | ||||||
|  | } | ||||||
							
								
								
									
										91
									
								
								ch15/svmdigits/main.cpp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										91
									
								
								ch15/svmdigits/main.cpp
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,91 @@ | |||||||
|  | #include "opencv2/opencv.hpp" | ||||||
|  | #include <iostream> | ||||||
|  |  | ||||||
|  | using namespace cv; | ||||||
|  | using namespace cv::ml; | ||||||
|  | using namespace std; | ||||||
|  |  | ||||||
|  | Ptr<SVM> train_hog_svm(const HOGDescriptor& hog); | ||||||
|  |  | ||||||
|  | void on_mouse(int event, int x, int y, int flags, void* userdata); | ||||||
|  |  | ||||||
|  | int main() { | ||||||
|  | 	HOGDescriptor hog(Size(20, 20), Size(10, 10), Size(5, 5), Size(5, 5), 9); | ||||||
|  | 	Ptr<SVM> svm = train_hog_svm(hog); | ||||||
|  |  | ||||||
|  | 	Mat img = Mat::zeros(400, 400, CV_8U); | ||||||
|  |  | ||||||
|  | 	imshow("img", img); | ||||||
|  | 	setMouseCallback("img", on_mouse, (void*)&img); | ||||||
|  |  | ||||||
|  | 	while (true) { | ||||||
|  | 		int c = waitKey(0); | ||||||
|  |  | ||||||
|  | 		if (c == 27) | ||||||
|  | 			break; | ||||||
|  | 		else if (c == ' ') { | ||||||
|  | 			Mat img_resize; | ||||||
|  |  | ||||||
|  | 			resize(img, img_resize, Size(20, 20), 0, 0, INTER_AREA); | ||||||
|  |  | ||||||
|  | 			vector<float> desc; | ||||||
|  | 			hog.compute(img_resize, desc); | ||||||
|  |  | ||||||
|  | 			Mat desc_mat(desc); | ||||||
|  | 			int res = cvRound(svm->predict(desc_mat.t())); | ||||||
|  | 			cout << res << endl; | ||||||
|  |  | ||||||
|  | 			img.setTo(0); | ||||||
|  | 			imshow("img", img); | ||||||
|  | 		} | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  | 	return 0; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | Ptr<SVM> train_hog_svm(const HOGDescriptor& hog) { | ||||||
|  | 	Mat digits = imread("../../resources/images/digits.png", IMREAD_GRAYSCALE); | ||||||
|  |  | ||||||
|  | 	Mat train_hog, train_labels; | ||||||
|  |  | ||||||
|  | 	for (int j = 0; j < 50; j++) { | ||||||
|  | 		for (int i = 0; i < 100; i++) { | ||||||
|  | 			Mat roi = digits(Rect(i * 20, j * 20, 20, 20)); | ||||||
|  |  | ||||||
|  | 			vector<float> desc; | ||||||
|  | 			hog.compute(roi, desc); | ||||||
|  |  | ||||||
|  | 			Mat desc_mat(desc); | ||||||
|  | 			train_hog.push_back(desc_mat.t()); | ||||||
|  | 			train_labels.push_back(j / 5); | ||||||
|  | 		} | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  | 	Ptr<SVM> svm = SVM::create(); | ||||||
|  | 	svm->setType(SVM::Types::C_SVC); | ||||||
|  | 	svm->setKernel(SVM::KernelTypes::RBF); | ||||||
|  | 	svm->setC(2.5); | ||||||
|  | 	svm->setGamma(0.50625); | ||||||
|  | 	svm->train(train_hog, ROW_SAMPLE, train_labels); | ||||||
|  |  | ||||||
|  | 	return svm; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | Point ptPrev(-1, -1); | ||||||
|  |  | ||||||
|  | void on_mouse(int event, int x, int y, int flags, void* userdata) { | ||||||
|  | 	Mat img = *(Mat*)userdata; | ||||||
|  |  | ||||||
|  | 	if (event == EVENT_LBUTTONDOWN) { | ||||||
|  | 		ptPrev = Point(x, y); | ||||||
|  | 	} | ||||||
|  | 	else if (event == EVENT_LBUTTONUP) { | ||||||
|  | 		ptPrev = Point(-1, -1); | ||||||
|  | 	} | ||||||
|  | 	else if (event == EVENT_MOUSEMOVE && (flags & EVENT_FLAG_LBUTTON)) { | ||||||
|  | 		line(img, ptPrev, Point(x, y), Scalar::all(255), 40, LINE_AA, 0); | ||||||
|  | 		ptPrev = Point(x, y); | ||||||
|  |  | ||||||
|  | 		imshow("img", img); | ||||||
|  | 	} | ||||||
|  | } | ||||||
							
								
								
									
										139
									
								
								ch15/svmdigits/svmdigits.vcxproj
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										139
									
								
								ch15/svmdigits/svmdigits.vcxproj
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,139 @@ | |||||||
|  | <?xml version="1.0" encoding="utf-8"?> | ||||||
|  | <Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | ||||||
|  |   <ItemGroup Label="ProjectConfigurations"> | ||||||
|  |     <ProjectConfiguration Include="Debug|Win32"> | ||||||
|  |       <Configuration>Debug</Configuration> | ||||||
|  |       <Platform>Win32</Platform> | ||||||
|  |     </ProjectConfiguration> | ||||||
|  |     <ProjectConfiguration Include="Release|Win32"> | ||||||
|  |       <Configuration>Release</Configuration> | ||||||
|  |       <Platform>Win32</Platform> | ||||||
|  |     </ProjectConfiguration> | ||||||
|  |     <ProjectConfiguration Include="Debug|x64"> | ||||||
|  |       <Configuration>Debug</Configuration> | ||||||
|  |       <Platform>x64</Platform> | ||||||
|  |     </ProjectConfiguration> | ||||||
|  |     <ProjectConfiguration Include="Release|x64"> | ||||||
|  |       <Configuration>Release</Configuration> | ||||||
|  |       <Platform>x64</Platform> | ||||||
|  |     </ProjectConfiguration> | ||||||
|  |   </ItemGroup> | ||||||
|  |   <PropertyGroup Label="Globals"> | ||||||
|  |     <VCProjectVersion>17.0</VCProjectVersion> | ||||||
|  |     <Keyword>Win32Proj</Keyword> | ||||||
|  |     <ProjectGuid>{3fac1456-4f85-4254-97d9-86667b64b217}</ProjectGuid> | ||||||
|  |     <RootNamespace>svmdigits</RootNamespace> | ||||||
|  |     <WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion> | ||||||
|  |   </PropertyGroup> | ||||||
|  |   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> | ||||||
|  |   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration"> | ||||||
|  |     <ConfigurationType>Application</ConfigurationType> | ||||||
|  |     <UseDebugLibraries>true</UseDebugLibraries> | ||||||
|  |     <PlatformToolset>v143</PlatformToolset> | ||||||
|  |     <CharacterSet>Unicode</CharacterSet> | ||||||
|  |   </PropertyGroup> | ||||||
|  |   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration"> | ||||||
|  |     <ConfigurationType>Application</ConfigurationType> | ||||||
|  |     <UseDebugLibraries>false</UseDebugLibraries> | ||||||
|  |     <PlatformToolset>v143</PlatformToolset> | ||||||
|  |     <WholeProgramOptimization>true</WholeProgramOptimization> | ||||||
|  |     <CharacterSet>Unicode</CharacterSet> | ||||||
|  |   </PropertyGroup> | ||||||
|  |   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration"> | ||||||
|  |     <ConfigurationType>Application</ConfigurationType> | ||||||
|  |     <UseDebugLibraries>true</UseDebugLibraries> | ||||||
|  |     <PlatformToolset>v143</PlatformToolset> | ||||||
|  |     <CharacterSet>Unicode</CharacterSet> | ||||||
|  |   </PropertyGroup> | ||||||
|  |   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration"> | ||||||
|  |     <ConfigurationType>Application</ConfigurationType> | ||||||
|  |     <UseDebugLibraries>false</UseDebugLibraries> | ||||||
|  |     <PlatformToolset>v143</PlatformToolset> | ||||||
|  |     <WholeProgramOptimization>true</WholeProgramOptimization> | ||||||
|  |     <CharacterSet>Unicode</CharacterSet> | ||||||
|  |   </PropertyGroup> | ||||||
|  |   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> | ||||||
|  |   <ImportGroup Label="ExtensionSettings"> | ||||||
|  |   </ImportGroup> | ||||||
|  |   <ImportGroup Label="Shared"> | ||||||
|  |   </ImportGroup> | ||||||
|  |   <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> | ||||||
|  |     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> | ||||||
|  |     <Import Project="..\..\OPENCV4110_debug.props" /> | ||||||
|  |   </ImportGroup> | ||||||
|  |   <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> | ||||||
|  |     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> | ||||||
|  |     <Import Project="..\..\OPENCV4110_release.props" /> | ||||||
|  |   </ImportGroup> | ||||||
|  |   <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> | ||||||
|  |     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> | ||||||
|  |     <Import Project="..\..\OPENCV4110_debug.props" /> | ||||||
|  |   </ImportGroup> | ||||||
|  |   <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> | ||||||
|  |     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> | ||||||
|  |     <Import Project="..\..\OPENCV4110_release.props" /> | ||||||
|  |   </ImportGroup> | ||||||
|  |   <PropertyGroup Label="UserMacros" /> | ||||||
|  |   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> | ||||||
|  |     <ClCompile> | ||||||
|  |       <WarningLevel>Level3</WarningLevel> | ||||||
|  |       <SDLCheck>true</SDLCheck> | ||||||
|  |       <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> | ||||||
|  |       <ConformanceMode>true</ConformanceMode> | ||||||
|  |     </ClCompile> | ||||||
|  |     <Link> | ||||||
|  |       <SubSystem>Console</SubSystem> | ||||||
|  |       <GenerateDebugInformation>true</GenerateDebugInformation> | ||||||
|  |     </Link> | ||||||
|  |   </ItemDefinitionGroup> | ||||||
|  |   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> | ||||||
|  |     <ClCompile> | ||||||
|  |       <WarningLevel>Level3</WarningLevel> | ||||||
|  |       <FunctionLevelLinking>true</FunctionLevelLinking> | ||||||
|  |       <IntrinsicFunctions>true</IntrinsicFunctions> | ||||||
|  |       <SDLCheck>true</SDLCheck> | ||||||
|  |       <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> | ||||||
|  |       <ConformanceMode>true</ConformanceMode> | ||||||
|  |     </ClCompile> | ||||||
|  |     <Link> | ||||||
|  |       <SubSystem>Console</SubSystem> | ||||||
|  |       <EnableCOMDATFolding>true</EnableCOMDATFolding> | ||||||
|  |       <OptimizeReferences>true</OptimizeReferences> | ||||||
|  |       <GenerateDebugInformation>true</GenerateDebugInformation> | ||||||
|  |     </Link> | ||||||
|  |   </ItemDefinitionGroup> | ||||||
|  |   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> | ||||||
|  |     <ClCompile> | ||||||
|  |       <WarningLevel>Level3</WarningLevel> | ||||||
|  |       <SDLCheck>true</SDLCheck> | ||||||
|  |       <PreprocessorDefinitions>_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> | ||||||
|  |       <ConformanceMode>true</ConformanceMode> | ||||||
|  |     </ClCompile> | ||||||
|  |     <Link> | ||||||
|  |       <SubSystem>Console</SubSystem> | ||||||
|  |       <GenerateDebugInformation>true</GenerateDebugInformation> | ||||||
|  |     </Link> | ||||||
|  |   </ItemDefinitionGroup> | ||||||
|  |   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> | ||||||
|  |     <ClCompile> | ||||||
|  |       <WarningLevel>Level3</WarningLevel> | ||||||
|  |       <FunctionLevelLinking>true</FunctionLevelLinking> | ||||||
|  |       <IntrinsicFunctions>true</IntrinsicFunctions> | ||||||
|  |       <SDLCheck>true</SDLCheck> | ||||||
|  |       <PreprocessorDefinitions>NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> | ||||||
|  |       <ConformanceMode>true</ConformanceMode> | ||||||
|  |     </ClCompile> | ||||||
|  |     <Link> | ||||||
|  |       <SubSystem>Console</SubSystem> | ||||||
|  |       <EnableCOMDATFolding>true</EnableCOMDATFolding> | ||||||
|  |       <OptimizeReferences>true</OptimizeReferences> | ||||||
|  |       <GenerateDebugInformation>true</GenerateDebugInformation> | ||||||
|  |     </Link> | ||||||
|  |   </ItemDefinitionGroup> | ||||||
|  |   <ItemGroup> | ||||||
|  |     <ClCompile Include="main.cpp" /> | ||||||
|  |   </ItemGroup> | ||||||
|  |   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> | ||||||
|  |   <ImportGroup Label="ExtensionTargets"> | ||||||
|  |   </ImportGroup> | ||||||
|  | </Project> | ||||||
							
								
								
									
										22
									
								
								ch15/svmdigits/svmdigits.vcxproj.filters
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										22
									
								
								ch15/svmdigits/svmdigits.vcxproj.filters
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,22 @@ | |||||||
|  | <?xml version="1.0" encoding="utf-8"?> | ||||||
|  | <Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | ||||||
|  |   <ItemGroup> | ||||||
|  |     <Filter Include="소스 파일"> | ||||||
|  |       <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier> | ||||||
|  |       <Extensions>cpp;c;cc;cxx;c++;cppm;ixx;def;odl;idl;hpj;bat;asm;asmx</Extensions> | ||||||
|  |     </Filter> | ||||||
|  |     <Filter Include="헤더 파일"> | ||||||
|  |       <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier> | ||||||
|  |       <Extensions>h;hh;hpp;hxx;h++;hm;inl;inc;ipp;xsd</Extensions> | ||||||
|  |     </Filter> | ||||||
|  |     <Filter Include="리소스 파일"> | ||||||
|  |       <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier> | ||||||
|  |       <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions> | ||||||
|  |     </Filter> | ||||||
|  |   </ItemGroup> | ||||||
|  |   <ItemGroup> | ||||||
|  |     <ClCompile Include="main.cpp"> | ||||||
|  |       <Filter>소스 파일</Filter> | ||||||
|  |     </ClCompile> | ||||||
|  |   </ItemGroup> | ||||||
|  | </Project> | ||||||
							
								
								
									
										48
									
								
								ch15/svmplane/main.cpp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										48
									
								
								ch15/svmplane/main.cpp
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,48 @@ | |||||||
|  | #include "opencv2/opencv.hpp" | ||||||
|  | #include <iostream> | ||||||
|  |  | ||||||
|  | using namespace cv; | ||||||
|  | using namespace cv::ml; | ||||||
|  | using namespace std; | ||||||
|  |  | ||||||
|  | int main() { | ||||||
|  | 	Mat train = Mat_<float>({ 8, 2 }, { | ||||||
|  | 		150, 200, 200, 250, 100, 250, 150, 300, | ||||||
|  | 		350, 100, 400, 200, 400, 300, 350, 400 }); | ||||||
|  | 	Mat label = Mat_<int>({ 8, 1 }, { 0, 0, 0, 0, 1, 1, 1, 1 }); | ||||||
|  |  | ||||||
|  | 	Ptr<SVM> svm = SVM::create(); | ||||||
|  | 	svm->setType(SVM::Types::C_SVC); | ||||||
|  | 	svm->setKernel(SVM::KernelTypes::RBF); | ||||||
|  | 	svm->trainAuto(train, ROW_SAMPLE, label); | ||||||
|  |  | ||||||
|  | 	Mat img = Mat::zeros(Size(500, 500), CV_8UC3); | ||||||
|  |  | ||||||
|  | 	for (int j = 0; j < img.rows; j++) { | ||||||
|  | 		for (int i = 0; i < img.cols; i++) { | ||||||
|  | 			Mat test = Mat_<float>({ 1, 2 }, { (float)i, (float)j }); | ||||||
|  | 			int res = cvRound(svm->predict(test)); | ||||||
|  |  | ||||||
|  | 			if (res == 0) | ||||||
|  | 				img.at<Vec3b>(j, i) = Vec3b(128, 128, 255); | ||||||
|  | 			else | ||||||
|  | 				img.at<Vec3b>(j, i) = Vec3b(128, 255, 128); | ||||||
|  | 		} | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  | 	for (int i = 0; i < train.rows; i++) { | ||||||
|  | 		int x = cvRound(train.at<float>(i, 0)); | ||||||
|  | 		int y = cvRound(train.at<float>(i, 1)); | ||||||
|  | 		int l = label.at<int>(i, 0); | ||||||
|  |  | ||||||
|  | 		if (l == 0) | ||||||
|  | 			circle(img, Point(x, y), 5, Scalar(0, 0, 128), -1, LINE_AA); | ||||||
|  | 		else | ||||||
|  | 			circle(img, Point(x, y), 5, Scalar(0, 128, 0), -1, LINE_AA); | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  | 	imshow("img", img); | ||||||
|  |  | ||||||
|  | 	waitKey(); | ||||||
|  | 	return 0; | ||||||
|  | } | ||||||
							
								
								
									
										139
									
								
								ch15/svmplane/svmplane.vcxproj
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										139
									
								
								ch15/svmplane/svmplane.vcxproj
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,139 @@ | |||||||
|  | <?xml version="1.0" encoding="utf-8"?> | ||||||
|  | <Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | ||||||
|  |   <ItemGroup Label="ProjectConfigurations"> | ||||||
|  |     <ProjectConfiguration Include="Debug|Win32"> | ||||||
|  |       <Configuration>Debug</Configuration> | ||||||
|  |       <Platform>Win32</Platform> | ||||||
|  |     </ProjectConfiguration> | ||||||
|  |     <ProjectConfiguration Include="Release|Win32"> | ||||||
|  |       <Configuration>Release</Configuration> | ||||||
|  |       <Platform>Win32</Platform> | ||||||
|  |     </ProjectConfiguration> | ||||||
|  |     <ProjectConfiguration Include="Debug|x64"> | ||||||
|  |       <Configuration>Debug</Configuration> | ||||||
|  |       <Platform>x64</Platform> | ||||||
|  |     </ProjectConfiguration> | ||||||
|  |     <ProjectConfiguration Include="Release|x64"> | ||||||
|  |       <Configuration>Release</Configuration> | ||||||
|  |       <Platform>x64</Platform> | ||||||
|  |     </ProjectConfiguration> | ||||||
|  |   </ItemGroup> | ||||||
|  |   <PropertyGroup Label="Globals"> | ||||||
|  |     <VCProjectVersion>17.0</VCProjectVersion> | ||||||
|  |     <Keyword>Win32Proj</Keyword> | ||||||
|  |     <ProjectGuid>{773fc1de-f4ad-4771-b624-1a6997e8ea6a}</ProjectGuid> | ||||||
|  |     <RootNamespace>svmplane</RootNamespace> | ||||||
|  |     <WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion> | ||||||
|  |   </PropertyGroup> | ||||||
|  |   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> | ||||||
|  |   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration"> | ||||||
|  |     <ConfigurationType>Application</ConfigurationType> | ||||||
|  |     <UseDebugLibraries>true</UseDebugLibraries> | ||||||
|  |     <PlatformToolset>v143</PlatformToolset> | ||||||
|  |     <CharacterSet>Unicode</CharacterSet> | ||||||
|  |   </PropertyGroup> | ||||||
|  |   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration"> | ||||||
|  |     <ConfigurationType>Application</ConfigurationType> | ||||||
|  |     <UseDebugLibraries>false</UseDebugLibraries> | ||||||
|  |     <PlatformToolset>v143</PlatformToolset> | ||||||
|  |     <WholeProgramOptimization>true</WholeProgramOptimization> | ||||||
|  |     <CharacterSet>Unicode</CharacterSet> | ||||||
|  |   </PropertyGroup> | ||||||
|  |   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration"> | ||||||
|  |     <ConfigurationType>Application</ConfigurationType> | ||||||
|  |     <UseDebugLibraries>true</UseDebugLibraries> | ||||||
|  |     <PlatformToolset>v143</PlatformToolset> | ||||||
|  |     <CharacterSet>Unicode</CharacterSet> | ||||||
|  |   </PropertyGroup> | ||||||
|  |   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration"> | ||||||
|  |     <ConfigurationType>Application</ConfigurationType> | ||||||
|  |     <UseDebugLibraries>false</UseDebugLibraries> | ||||||
|  |     <PlatformToolset>v143</PlatformToolset> | ||||||
|  |     <WholeProgramOptimization>true</WholeProgramOptimization> | ||||||
|  |     <CharacterSet>Unicode</CharacterSet> | ||||||
|  |   </PropertyGroup> | ||||||
|  |   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> | ||||||
|  |   <ImportGroup Label="ExtensionSettings"> | ||||||
|  |   </ImportGroup> | ||||||
|  |   <ImportGroup Label="Shared"> | ||||||
|  |   </ImportGroup> | ||||||
|  |   <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> | ||||||
|  |     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> | ||||||
|  |     <Import Project="..\..\OPENCV4110_debug.props" /> | ||||||
|  |   </ImportGroup> | ||||||
|  |   <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> | ||||||
|  |     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> | ||||||
|  |     <Import Project="..\..\OPENCV4110_release.props" /> | ||||||
|  |   </ImportGroup> | ||||||
|  |   <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> | ||||||
|  |     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> | ||||||
|  |     <Import Project="..\..\OPENCV4110_debug.props" /> | ||||||
|  |   </ImportGroup> | ||||||
|  |   <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> | ||||||
|  |     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> | ||||||
|  |     <Import Project="..\..\OPENCV4110_release.props" /> | ||||||
|  |   </ImportGroup> | ||||||
|  |   <PropertyGroup Label="UserMacros" /> | ||||||
|  |   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> | ||||||
|  |     <ClCompile> | ||||||
|  |       <WarningLevel>Level3</WarningLevel> | ||||||
|  |       <SDLCheck>true</SDLCheck> | ||||||
|  |       <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> | ||||||
|  |       <ConformanceMode>true</ConformanceMode> | ||||||
|  |     </ClCompile> | ||||||
|  |     <Link> | ||||||
|  |       <SubSystem>Console</SubSystem> | ||||||
|  |       <GenerateDebugInformation>true</GenerateDebugInformation> | ||||||
|  |     </Link> | ||||||
|  |   </ItemDefinitionGroup> | ||||||
|  |   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> | ||||||
|  |     <ClCompile> | ||||||
|  |       <WarningLevel>Level3</WarningLevel> | ||||||
|  |       <FunctionLevelLinking>true</FunctionLevelLinking> | ||||||
|  |       <IntrinsicFunctions>true</IntrinsicFunctions> | ||||||
|  |       <SDLCheck>true</SDLCheck> | ||||||
|  |       <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> | ||||||
|  |       <ConformanceMode>true</ConformanceMode> | ||||||
|  |     </ClCompile> | ||||||
|  |     <Link> | ||||||
|  |       <SubSystem>Console</SubSystem> | ||||||
|  |       <EnableCOMDATFolding>true</EnableCOMDATFolding> | ||||||
|  |       <OptimizeReferences>true</OptimizeReferences> | ||||||
|  |       <GenerateDebugInformation>true</GenerateDebugInformation> | ||||||
|  |     </Link> | ||||||
|  |   </ItemDefinitionGroup> | ||||||
|  |   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> | ||||||
|  |     <ClCompile> | ||||||
|  |       <WarningLevel>Level3</WarningLevel> | ||||||
|  |       <SDLCheck>true</SDLCheck> | ||||||
|  |       <PreprocessorDefinitions>_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> | ||||||
|  |       <ConformanceMode>true</ConformanceMode> | ||||||
|  |     </ClCompile> | ||||||
|  |     <Link> | ||||||
|  |       <SubSystem>Console</SubSystem> | ||||||
|  |       <GenerateDebugInformation>true</GenerateDebugInformation> | ||||||
|  |     </Link> | ||||||
|  |   </ItemDefinitionGroup> | ||||||
|  |   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> | ||||||
|  |     <ClCompile> | ||||||
|  |       <WarningLevel>Level3</WarningLevel> | ||||||
|  |       <FunctionLevelLinking>true</FunctionLevelLinking> | ||||||
|  |       <IntrinsicFunctions>true</IntrinsicFunctions> | ||||||
|  |       <SDLCheck>true</SDLCheck> | ||||||
|  |       <PreprocessorDefinitions>NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> | ||||||
|  |       <ConformanceMode>true</ConformanceMode> | ||||||
|  |     </ClCompile> | ||||||
|  |     <Link> | ||||||
|  |       <SubSystem>Console</SubSystem> | ||||||
|  |       <EnableCOMDATFolding>true</EnableCOMDATFolding> | ||||||
|  |       <OptimizeReferences>true</OptimizeReferences> | ||||||
|  |       <GenerateDebugInformation>true</GenerateDebugInformation> | ||||||
|  |     </Link> | ||||||
|  |   </ItemDefinitionGroup> | ||||||
|  |   <ItemGroup> | ||||||
|  |     <ClCompile Include="main.cpp" /> | ||||||
|  |   </ItemGroup> | ||||||
|  |   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> | ||||||
|  |   <ImportGroup Label="ExtensionTargets"> | ||||||
|  |   </ImportGroup> | ||||||
|  | </Project> | ||||||
							
								
								
									
										22
									
								
								ch15/svmplane/svmplane.vcxproj.filters
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										22
									
								
								ch15/svmplane/svmplane.vcxproj.filters
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,22 @@ | |||||||
|  | <?xml version="1.0" encoding="utf-8"?> | ||||||
|  | <Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | ||||||
|  |   <ItemGroup> | ||||||
|  |     <Filter Include="소스 파일"> | ||||||
|  |       <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier> | ||||||
|  |       <Extensions>cpp;c;cc;cxx;c++;cppm;ixx;def;odl;idl;hpj;bat;asm;asmx</Extensions> | ||||||
|  |     </Filter> | ||||||
|  |     <Filter Include="헤더 파일"> | ||||||
|  |       <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier> | ||||||
|  |       <Extensions>h;hh;hpp;hxx;h++;hm;inl;inc;ipp;xsd</Extensions> | ||||||
|  |     </Filter> | ||||||
|  |     <Filter Include="리소스 파일"> | ||||||
|  |       <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier> | ||||||
|  |       <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions> | ||||||
|  |     </Filter> | ||||||
|  |   </ItemGroup> | ||||||
|  |   <ItemGroup> | ||||||
|  |     <ClCompile Include="main.cpp"> | ||||||
|  |       <Filter>소스 파일</Filter> | ||||||
|  |     </ClCompile> | ||||||
|  |   </ItemGroup> | ||||||
|  | </Project> | ||||||
		Reference in New Issue
	
	Block a user
	 USW
					USW