You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
- Download, extract and get yourself inside the sources of OpenCV 3.1.0 and create a `build` folder. Then:
12
13
```
13
14
cd build
14
15
# CMAKE_BUILD_TYPE could either "Release" or "Debug".
15
16
# WITH_OPENCL The usage of OpenCL is a big improvement in terms of performance but you don't have to worry about it if you system has support you got it for free. On ubuntu I had to install
All the hard work was to recognize the numbers that's why this part comes after the `Recognizer` even if obviously this is what people want to do.
123
+
All the hard work was to recognize the numbers that's why this part comes after the `Recognizer` even if obviously this is what people want to do.
108
124
A [mouline](https://github.com/BenNG/sudoku-recognizer/blob/master/src/lib/sudoku.cpp#L1743) function has been created that gather all other functions.
109
125
So the process is:
110
-
* parse the original image that holds the sudoku puzzle and extract it
111
-
* parse the extracted puzzle and use a computer vision algorithm to grab the initial state.
112
-
* Solve the sudoku
113
-
* write the solution on the extracted puzzle
114
-
* merge the extracted puzzle on the original picture
126
+
127
+
- parse the original image that holds the sudoku puzzle and extract it
128
+
- parse the extracted puzzle and use a computer vision algorithm to grab the initial state.
129
+
- Solve the sudoku
130
+
- write the solution on the extracted puzzle
131
+
- merge the extracted puzzle on the original picture
115
132
116
133
## Tips (Personal memo)
117
-
* There are 2 extraction process
118
-
* the extraction of the puzzle
119
-
* the extraction of the grid within the puzzle (somethimes it is the same see s6.jpg)
120
-
* If you want to play with `HOGDescriptor` add set(OpenCV_LIBS opencv_core opencv_objdetect) (this is not used in the project anymore)
121
-
* The function `prepareData` creates `assets/raw-features.yml` and getKnn uses it
122
-
* boost library (used only for test)
123
-
* check is the /FindBoost.cmake the supported version (the lib is not used anymore because it is not possible to use it on android)
124
-
* If you ask for a cell and you have an error chances are that your cell is a 1 and it is too tiny go to extractNumber and play with (and do not forget to run prepareData && test after)
125
-
* area
126
-
* boundingArea
127
-
* width_threshold
128
-
* height_threshold
129
-
* Before the portage on android, I used a system for resolving the path of file that looked for the root of the project and join the path given but in a apk application
130
-
there are no path so I had to rewrite all and use relative paths
131
-
* adding curl to the project (not use anymore)
132
-
* dl the source code [here](https://github.com/curl/curl/releases)
133
-
* in the source code there is a `CMakeLists.txt` so:
* When you do a project using computer vision think about the resolution you will use for:
140
-
* the camera
141
-
* the image being processed by the algorithm
142
134
135
+
- There are 2 extraction process
136
+
- the extraction of the puzzle
137
+
- the extraction of the grid within the puzzle (somethimes it is the same see s6.jpg)
138
+
- If you want to play with `HOGDescriptor` add set(OpenCV_LIBS opencv_core opencv_objdetect) (this is not used in the project anymore)
139
+
- The function `prepareData` creates `assets/raw-features.yml` and getKnn uses it
140
+
- boost library (used only for test)
141
+
- check is the /FindBoost.cmake the supported version (the lib is not used anymore because it is not possible to use it on android)
142
+
- If you ask for a cell and you have an error chances are that your cell is a 1 and it is too tiny go to extractNumber and play with (and do not forget to run prepareData && test after)
143
+
- area
144
+
- boundingArea
145
+
- width_threshold
146
+
- height_threshold
147
+
- Before the portage on android, I used a system for resolving the path of file that looked for the root of the project and join the path given but in a apk application
148
+
there are no path so I had to rewrite all and use relative paths
149
+
- adding curl to the project (not use anymore)
150
+
- dl the source code [here](https://github.com/curl/curl/releases)
151
+
- in the source code there is a `CMakeLists.txt` so:
0 commit comments