Skip to content

Commit

Permalink
Merge pull request #1 from shimat/master
Browse files Browse the repository at this point in the history
Merge from shimat/opencvsharp
  • Loading branch information
hez2010 authored Jun 20, 2019
2 parents a28bed5 + 618d2ec commit 1350f36
Show file tree
Hide file tree
Showing 72 changed files with 1,218 additions and 13,850 deletions.
65 changes: 44 additions & 21 deletions OpenCvSharp.sln
Original file line number Diff line number Diff line change
Expand Up @@ -22,10 +22,14 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "OpenCvSharp.UserInterface",
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "OpenCvSharpExtern", "src\OpenCvSharpExtern\OpenCvSharpExtern.vcxproj", "{8E7279F8-F801-4672-B42F-1ED2C68B16A4}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OpenCvSharp.ReleaseMaker", "src\OpenCvSharp.ReleaseMaker\OpenCvSharp.ReleaseMaker.csproj", "{E2C8C528-B7C7-40AF-BB7F-1147A41E2E23}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OpenCvSharp.DebuggerVisualizers", "src\OpenCvSharp.DebuggerVisualizers\OpenCvSharp.DebuggerVisualizers.csproj", "{4232CB4A-DFE3-46CA-9503-C5F1798BAED3}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "tool", "tool", "{A6E578C0-A34A-4CCF-A808-CBAC81CB48C0}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OpenCvSharp.ReleaseMaker", "tool\OpenCvSharp.ReleaseMaker\OpenCvSharp.ReleaseMaker.csproj", "{E2C8C528-B7C7-40AF-BB7F-1147A41E2E23}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OpenCvSharp.NupkgBetaRemover", "tool\OpenCvSharp.NupkgBetaRemover\OpenCvSharp.NupkgBetaRemover.csproj", "{CC19F9A5-01A7-4BDF-B34C-CF56F46A474A}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Expand Down Expand Up @@ -145,24 +149,6 @@ Global
{8E7279F8-F801-4672-B42F-1ED2C68B16A4}.Release-JP|x64.Build.0 = Release|x64
{8E7279F8-F801-4672-B42F-1ED2C68B16A4}.Release-JP|x86.ActiveCfg = Release|Win32
{8E7279F8-F801-4672-B42F-1ED2C68B16A4}.Release-JP|x86.Build.0 = Release|Win32
{E2C8C528-B7C7-40AF-BB7F-1147A41E2E23}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{E2C8C528-B7C7-40AF-BB7F-1147A41E2E23}.Debug|Any CPU.Build.0 = Debug|Any CPU
{E2C8C528-B7C7-40AF-BB7F-1147A41E2E23}.Debug|x64.ActiveCfg = Debug|Any CPU
{E2C8C528-B7C7-40AF-BB7F-1147A41E2E23}.Debug|x64.Build.0 = Debug|Any CPU
{E2C8C528-B7C7-40AF-BB7F-1147A41E2E23}.Debug|x86.ActiveCfg = Debug|Any CPU
{E2C8C528-B7C7-40AF-BB7F-1147A41E2E23}.Debug|x86.Build.0 = Debug|Any CPU
{E2C8C528-B7C7-40AF-BB7F-1147A41E2E23}.Release|Any CPU.ActiveCfg = Release|Any CPU
{E2C8C528-B7C7-40AF-BB7F-1147A41E2E23}.Release|Any CPU.Build.0 = Release|Any CPU
{E2C8C528-B7C7-40AF-BB7F-1147A41E2E23}.Release|x64.ActiveCfg = Release|Any CPU
{E2C8C528-B7C7-40AF-BB7F-1147A41E2E23}.Release|x64.Build.0 = Release|Any CPU
{E2C8C528-B7C7-40AF-BB7F-1147A41E2E23}.Release|x86.ActiveCfg = Release|Any CPU
{E2C8C528-B7C7-40AF-BB7F-1147A41E2E23}.Release|x86.Build.0 = Release|Any CPU
{E2C8C528-B7C7-40AF-BB7F-1147A41E2E23}.Release-JP|Any CPU.ActiveCfg = Release|Any CPU
{E2C8C528-B7C7-40AF-BB7F-1147A41E2E23}.Release-JP|Any CPU.Build.0 = Release|Any CPU
{E2C8C528-B7C7-40AF-BB7F-1147A41E2E23}.Release-JP|x64.ActiveCfg = Release|Any CPU
{E2C8C528-B7C7-40AF-BB7F-1147A41E2E23}.Release-JP|x64.Build.0 = Release|Any CPU
{E2C8C528-B7C7-40AF-BB7F-1147A41E2E23}.Release-JP|x86.ActiveCfg = Release|Any CPU
{E2C8C528-B7C7-40AF-BB7F-1147A41E2E23}.Release-JP|x86.Build.0 = Release|Any CPU
{4232CB4A-DFE3-46CA-9503-C5F1798BAED3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{4232CB4A-DFE3-46CA-9503-C5F1798BAED3}.Debug|Any CPU.Build.0 = Debug|Any CPU
{4232CB4A-DFE3-46CA-9503-C5F1798BAED3}.Debug|x64.ActiveCfg = Debug|Any CPU
Expand All @@ -181,6 +167,42 @@ Global
{4232CB4A-DFE3-46CA-9503-C5F1798BAED3}.Release-JP|x64.Build.0 = Release|Any CPU
{4232CB4A-DFE3-46CA-9503-C5F1798BAED3}.Release-JP|x86.ActiveCfg = Release|Any CPU
{4232CB4A-DFE3-46CA-9503-C5F1798BAED3}.Release-JP|x86.Build.0 = Release|Any CPU
{E2C8C528-B7C7-40AF-BB7F-1147A41E2E23}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{E2C8C528-B7C7-40AF-BB7F-1147A41E2E23}.Debug|Any CPU.Build.0 = Debug|Any CPU
{E2C8C528-B7C7-40AF-BB7F-1147A41E2E23}.Debug|x64.ActiveCfg = Debug|Any CPU
{E2C8C528-B7C7-40AF-BB7F-1147A41E2E23}.Debug|x64.Build.0 = Debug|Any CPU
{E2C8C528-B7C7-40AF-BB7F-1147A41E2E23}.Debug|x86.ActiveCfg = Debug|Any CPU
{E2C8C528-B7C7-40AF-BB7F-1147A41E2E23}.Debug|x86.Build.0 = Debug|Any CPU
{E2C8C528-B7C7-40AF-BB7F-1147A41E2E23}.Release|Any CPU.ActiveCfg = Release|Any CPU
{E2C8C528-B7C7-40AF-BB7F-1147A41E2E23}.Release|Any CPU.Build.0 = Release|Any CPU
{E2C8C528-B7C7-40AF-BB7F-1147A41E2E23}.Release|x64.ActiveCfg = Release|Any CPU
{E2C8C528-B7C7-40AF-BB7F-1147A41E2E23}.Release|x64.Build.0 = Release|Any CPU
{E2C8C528-B7C7-40AF-BB7F-1147A41E2E23}.Release|x86.ActiveCfg = Release|Any CPU
{E2C8C528-B7C7-40AF-BB7F-1147A41E2E23}.Release|x86.Build.0 = Release|Any CPU
{E2C8C528-B7C7-40AF-BB7F-1147A41E2E23}.Release-JP|Any CPU.ActiveCfg = Release|Any CPU
{E2C8C528-B7C7-40AF-BB7F-1147A41E2E23}.Release-JP|Any CPU.Build.0 = Release|Any CPU
{E2C8C528-B7C7-40AF-BB7F-1147A41E2E23}.Release-JP|x64.ActiveCfg = Release|Any CPU
{E2C8C528-B7C7-40AF-BB7F-1147A41E2E23}.Release-JP|x64.Build.0 = Release|Any CPU
{E2C8C528-B7C7-40AF-BB7F-1147A41E2E23}.Release-JP|x86.ActiveCfg = Release|Any CPU
{E2C8C528-B7C7-40AF-BB7F-1147A41E2E23}.Release-JP|x86.Build.0 = Release|Any CPU
{CC19F9A5-01A7-4BDF-B34C-CF56F46A474A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{CC19F9A5-01A7-4BDF-B34C-CF56F46A474A}.Debug|Any CPU.Build.0 = Debug|Any CPU
{CC19F9A5-01A7-4BDF-B34C-CF56F46A474A}.Debug|x64.ActiveCfg = Debug|Any CPU
{CC19F9A5-01A7-4BDF-B34C-CF56F46A474A}.Debug|x64.Build.0 = Debug|Any CPU
{CC19F9A5-01A7-4BDF-B34C-CF56F46A474A}.Debug|x86.ActiveCfg = Debug|Any CPU
{CC19F9A5-01A7-4BDF-B34C-CF56F46A474A}.Debug|x86.Build.0 = Debug|Any CPU
{CC19F9A5-01A7-4BDF-B34C-CF56F46A474A}.Release|Any CPU.ActiveCfg = Release|Any CPU
{CC19F9A5-01A7-4BDF-B34C-CF56F46A474A}.Release|Any CPU.Build.0 = Release|Any CPU
{CC19F9A5-01A7-4BDF-B34C-CF56F46A474A}.Release|x64.ActiveCfg = Release|Any CPU
{CC19F9A5-01A7-4BDF-B34C-CF56F46A474A}.Release|x64.Build.0 = Release|Any CPU
{CC19F9A5-01A7-4BDF-B34C-CF56F46A474A}.Release|x86.ActiveCfg = Release|Any CPU
{CC19F9A5-01A7-4BDF-B34C-CF56F46A474A}.Release|x86.Build.0 = Release|Any CPU
{CC19F9A5-01A7-4BDF-B34C-CF56F46A474A}.Release-JP|Any CPU.ActiveCfg = Release|Any CPU
{CC19F9A5-01A7-4BDF-B34C-CF56F46A474A}.Release-JP|Any CPU.Build.0 = Release|Any CPU
{CC19F9A5-01A7-4BDF-B34C-CF56F46A474A}.Release-JP|x64.ActiveCfg = Release|Any CPU
{CC19F9A5-01A7-4BDF-B34C-CF56F46A474A}.Release-JP|x64.Build.0 = Release|Any CPU
{CC19F9A5-01A7-4BDF-B34C-CF56F46A474A}.Release-JP|x86.ActiveCfg = Release|Any CPU
{CC19F9A5-01A7-4BDF-B34C-CF56F46A474A}.Release-JP|x86.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
Expand All @@ -192,8 +214,9 @@ Global
{B4B78BB2-1B7C-4CF2-BC72-43789EEDCE00} = {E048D213-B3B9-453F-9A41-29FDEB0D496B}
{FAD73716-92EC-4A0F-B594-286FF08EDE33} = {E048D213-B3B9-453F-9A41-29FDEB0D496B}
{8E7279F8-F801-4672-B42F-1ED2C68B16A4} = {E048D213-B3B9-453F-9A41-29FDEB0D496B}
{E2C8C528-B7C7-40AF-BB7F-1147A41E2E23} = {E048D213-B3B9-453F-9A41-29FDEB0D496B}
{4232CB4A-DFE3-46CA-9503-C5F1798BAED3} = {E048D213-B3B9-453F-9A41-29FDEB0D496B}
{E2C8C528-B7C7-40AF-BB7F-1147A41E2E23} = {A6E578C0-A34A-4CCF-A808-CBAC81CB48C0}
{CC19F9A5-01A7-4BDF-B34C-CF56F46A474A} = {A6E578C0-A34A-4CCF-A808-CBAC81CB48C0}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {60DD551B-ED40-447E-AABE-B408178D29D1}
Expand Down
12 changes: 11 additions & 1 deletion OpenCvSharp.sln.DotSettings
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,10 @@
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/PredefinedNamingRules/=PrivateInstanceFields/@EntryIndexedValue">&lt;Policy Inspect="True" Prefix="" Suffix="" Style="aaBb" /&gt;</s:String>
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/PredefinedNamingRules/=PrivateStaticReadonly/@EntryIndexedValue">&lt;Policy Inspect="True" Prefix="" Suffix="" Style="aaBb" /&gt;</s:String>
<s:Boolean x:Key="/Default/UserDictionary/Words/=AGAST/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=binarization/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=Binarize/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=Binarizer/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=Binarizes/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=Coeffs/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=CUDA/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=Farneback/@EntryIndexedValue">True</s:Boolean>
Expand All @@ -15,13 +19,19 @@
<s:Boolean x:Key="/Default/UserDictionary/Words/=inliers/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=jacobian/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=lenna/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=Niblack/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=Niblack_0027s/@EntryIndexedValue">True</s:Boolean>

<s:Boolean x:Key="/Default/UserDictionary/Words/=objdetect/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=RANSAC/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=reproject/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=reprojection/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=Rodrigues/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=Sauvola/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=Sauvola_0027s/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=superres/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=Thresholding/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=uchar/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=Undistort/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=Writeable/@EntryIndexedValue">True</s:Boolean></wpf:ResourceDictionary>
<s:Boolean x:Key="/Default/UserDictionary/Words/=Writeable/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=ximgproc/@EntryIndexedValue">True</s:Boolean></wpf:ResourceDictionary>
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ dotnet run
If you do not use NuGet, get DLL files from the [release page](https://github.com/shimat/opencvsharp/releases).

## Requirements
* [OpenCV 4.0.1](http://opencv.org/) with [opencv_contrib](https://github.com/opencv/opencv_contrib)
* [OpenCV 4.1.0](http://opencv.org/) with [opencv_contrib](https://github.com/opencv/opencv_contrib)
* (Windows)[Visual C++ 2017 Redistributable Package](https://go.microsoft.com/fwlink/?LinkId=746572)
* [.NET Framework 2.0](http://www.microsoft.com/ja-jp/download/details.aspx?id=1639) or later / [.NET Core 2.0](https://www.microsoft.com/net/download) / [Mono](http://www.mono-project.com/Main_Page)

Expand Down
6 changes: 3 additions & 3 deletions appveyor.yml
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ skip_branch_with_pr: true

image:
- Ubuntu1804
- Visual Studio 2017
- Visual Studio 2019

configuration: Release

Expand All @@ -86,8 +86,8 @@ install:
#- .\bootstrap-vcpkg.bat
#- cd %APPVEYOR_BUILD_FOLDER%
# - cmd: cd c:\tools\vcpkg
- cmd: vcpkg list
- cmd: vcpkg integrate remove
# - cmd: vcpkg list
# - cmd: vcpkg integrate remove
# - cmd: SET VCPKG_BUILD_TYPE=release
# - cmd: vcpkg integrate install
# - cmd: if %PLATFORM% == x64 vcpkg install tesseract:x64-windows-static
Expand Down
31 changes: 16 additions & 15 deletions src/OpenCvSharp.Extensions/Binarizer.cs
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ namespace OpenCvSharp.Extensions
/// Various binarization methods (ATTENTION : The methods of this class is not implemented in OpenCV)
/// </summary>
#endif
[Obsolete("Use CvXImgProc.NiblackThreshold instead.")]
public static class Binarizer
{
#if LANG_JP
Expand Down Expand Up @@ -59,10 +60,10 @@ public static void Niblack(Mat src, Mat dst, int kernelSize, double k)
Cv2.CopyMakeBorder(src, tempMat, borderSize, borderSize, borderSize, borderSize, BorderTypes.Replicate, Scalar.All(0));
Cv2.Integral(tempMat, sumMat, sqSumMat, MatType.CV_64FC1);

using (var tSrcMat = new MatOfByte(src))
using (var tDstMat = new MatOfByte(dst))
using (var tSumMat = new MatOfDouble(sumMat))
using (var tSqSumMat = new MatOfDouble(sqSumMat))
using (var tSrcMat = new Mat<byte>(src))
using (var tDstMat = new Mat<byte>(dst))
using (var tSumMat = new Mat<double>(sumMat))
using (var tSqSumMat = new Mat<double>(sqSumMat))
{
var tSrc = tSrcMat.GetIndexer();
var tDst = tDstMat.GetIndexer();
Expand Down Expand Up @@ -148,10 +149,10 @@ public static void Sauvola(Mat src, Mat dst, int kernelSize, double k, double r)
Cv2.CopyMakeBorder(src, tempMat, borderSize, borderSize, borderSize, borderSize, BorderTypes.Replicate, Scalar.All(0));
Cv2.Integral(tempMat, sumMat, sqSumMat, MatType.CV_64FC1);

using (var tSrcMat = new MatOfByte(src))
using (var tDstMat = new MatOfByte(dst))
using (var tSumMat = new MatOfDouble(sumMat))
using (var tSqSumMat = new MatOfDouble(sqSumMat))
using (var tSrcMat = new Mat<byte>(src))
using (var tDstMat = new Mat<byte>(dst))
using (var tSumMat = new Mat<double>(sumMat))
using (var tSqSumMat = new Mat<double>(sqSumMat))
{
var tSrc = tSrcMat.GetIndexer();
var tDst = tDstMat.GetIndexer();
Expand Down Expand Up @@ -228,8 +229,8 @@ public static void Bernsen(Mat src, Mat dst, int kernelSize, byte constrastMin,
int height = src.Height;
dst.Create(src.Size(), src.Type());

using (var tSrcMat = new MatOfByte(src))
using (var tDstMat = new MatOfByte(dst))
using (var tSrcMat = new Mat<byte>(src))
using (var tDstMat = new Mat<byte>(dst))
{
var tSrc = tSrcMat.GetIndexer();
var tDst = tDstMat.GetIndexer();
Expand Down Expand Up @@ -304,10 +305,10 @@ public static void Nick(Mat src, Mat dst, int kernelSize, double k)
Cv2.CopyMakeBorder(src, tempMat, borderSize, borderSize, borderSize, borderSize, BorderTypes.Replicate, Scalar.All(0));
Cv2.Integral(tempMat, sumMat, sqSumMat, MatType.CV_64FC1);

using (var tSrcMat = new MatOfByte(src))
using (var tDstMat = new MatOfByte(dst))
using (var tSumMat = new MatOfDouble(sumMat))
using (var tSqSumMat = new MatOfDouble(sqSumMat))
using (var tSrcMat = new Mat<byte>(src))
using (var tDstMat = new Mat<byte>(dst))
using (var tSumMat = new Mat<double>(sumMat))
using (var tSqSumMat = new Mat<double>(sqSumMat))
{
var tSrc = tSrcMat.GetIndexer();
var tDst = tDstMat.GetIndexer();
Expand Down Expand Up @@ -362,7 +363,7 @@ private static void MinMax(Mat img, int x, int y, int size, out byte min, out by
int ys = Math.Max(y - size2, 0);
int ye = Math.Min(y + size2, img.Height);

using (var tImg = new MatOfByte(img))
using (var tImg = new Mat<byte>(img))
{
var indexer = tImg.GetIndexer();

Expand Down
Loading

0 comments on commit 1350f36

Please sign in to comment.