- Mar 27 Sun 2016 12:02
-
康軒線上數位互動學習
- Mar 25 Fri 2016 08:35
-
Boost Library Version 1.60.0

到 http://www.boost.org/ 下載最新版本目前是1.60.0點選熟悉的windows作業系統點選後直接連到Sourceforge下載檔案有些大 126MB解壓縮至如 E:\Boost Library\boost_1_60_0------------------------------------------------------------------------------執行bootstrap
- Mar 24 Thu 2016 09:47
-
中提琴

音符[1] Do, Re, Mi, Fa, Sol, La, Si對應自然音記號: C, D, E, F, G, A, BSol –> G 記憶法: So GoodRe->D 記憶法: Red
- Mar 21 Mon 2016 22:53
-
C# 用畫線, 畫矩形, 畫圓形(橢圓)方式創建各種感興趣區域

Creating Various Types of Image ROIs by Drawing Lines, Rectangles or Eclipses
先前研究
C# 在PictureBox 畫線: 虛線, 點線, 點虛線
目前可以做到
1. 透過滑鼠兩點(button down and button up), 任意拉出一條 實線/虛線/點線 { L_i } where i=1,2,..,N
2. 線段可以設定粗細,顏色
3. 可以點選任意一組線段L_i, 進行整條線段拖拉動作
3. 可以修改任意一組L_i線段的標籤位置
4. 可刪除任意一組L_i
-----------------------------------------------------------------------------------
- Mar 21 Mon 2016 08:02
-
小一期中試卷
4/21 這一天為小一的學期的期中考, 所以今天(3/21)幫茗禾找一些考古題來練習 準備讓小朋友自己安排時間, 上網google一找, 可以下載一堆試題題庫 此外, 自己翻一翻內容,
- Mar 17 Thu 2016 12:54
-
利用距離轉換和分水嶺演算法進行影像分割

以下是參考官方文件[1] Image Segmentation with Distance Transform and Watershed Algorithm並將其範例封裝成C++ DLL, 由C# UI進行各項參數試驗c++ImageProc.h
#include <wchar.h>#include <opencv2\highgui\highgui.hpp>#include <opencv2\imgproc\imgproc.hpp>#pragma once
using namespace std;
using namespace cv;
namespace CVision{public ref class ImageProc
{ public: ImageProc(){};bool imread(wchar_t *filename);
bool imshow(); void changeBGBlack();void changeBGBlack(int threshBlue, int threshGreen, int threshRed);
void sharpImage();void bgr2Gray(int thresh);
void distTransform(); void extractPeaks(); void labelMarkers(); void applyWatershed(); private: std::string WstringToString(const std::wstring str);};
}
- Mar 13 Sun 2016 08:58
-
OpenCV 像素加入雜訊

之前有寫過一篇關於OpenCV像素取/存值的方式[1]彩色像素取值image.at<cv::Vec3b>(row, col)[0]image.at<cv::Vec3b>(row, col)[1]image.at<cv::Vec3b>(row, col)[2]灰階像素取值image.at<uchar>(row, col) = 255;加上另一篇[2] 利用C# 拉UI並傳參數給OpenCV C++ DLL
- Mar 11 Fri 2016 02:32
-
利用C# 拉UI並傳參數給OpenCV C++ DLL

How to Create an OpenCV C++ DLL and To be Used in C# Windows Form Project?如果你跟我一樣:1. 有點厭倦使用EmguCV, 理由很簡單: 因為當你google 關鍵字OpenCV找到的範例絕大部分應該是C++為大宗, 所以你得即時翻譯成EmguCV語法, 無法享受Copy-Paste的快樂; 雖然話說習慣成自然, 但是久沒有使用, 時間是會沖淡一切….2. 當你使用 C++, 又開始懷念C#拉UI的快樂時, 你不得不考慮兩者加在一起使用….3. 綜合1.2兩點, 希望可以在C# windows form快快樂樂拉UI, 同時簡簡單單將不同參數傳給OpenCV,最重要的是可以快速複製貼上OpenCV的範例程式….哈哈!!! 4. 當OpenCV C++函式庫有變動時, 只需要編譯整個方案(solution)就可以全部一次更新完成所以接下來要寫一個簡單範例,
- Mar 10 Thu 2016 12:55
-
Calculating Disparity Map Using OpenCV 2.4.9 with Visual Studio 2010

加入現有屬性工作表 VS2010OpenCV249X64ReleaseVS2010OpenCV249X86DebugVS2010OpenCV249X86Release
#include "stdafx.h"
#include <core\core.hpp>#include <calib3d\calib3d.hpp>#include <highgui\highgui.hpp>#include <imgproc\imgproc.hpp>#include <contrib\contrib.hpp>using namespace cv;
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{Mat img1, img2, g1, g2;
Mat disp, disp1, disp2;
img1 = imread("tsukuba1.jpg"); img2 = imread("tsukuba2.jpg");cvtColor(img1, g1, CV_BGR2GRAY);
cvtColor(img2, g2, CV_BGR2GRAY);
//-----------------------------------------------------------StereoBM sbm;
sbm.state->SADWindowSize = 5;
sbm.state->numberOfDisparities = 112;
sbm.state->preFilterSize = 5;
sbm.state->preFilterCap = 61;
sbm.state->minDisparity = -39;
sbm.state->textureThreshold = 507;
sbm.state->uniquenessRatio = 0;
sbm.state->speckleWindowSize = 0;
sbm.state->speckleRange = 8;
sbm.state->disp12MaxDiff = 1;
sbm(g1, g2, disp);
normalize(disp, disp1, 0, 255, CV_MINMAX, CV_8U);
StereoSGBM sgbm;
sgbm.SADWindowSize = 5;
sgbm.numberOfDisparities = 192;
sgbm.preFilterCap = 4;
sgbm.minDisparity = -64;
sgbm.uniquenessRatio = 1;
sgbm.speckleWindowSize = 150;
sgbm.speckleRange = 2;
sgbm.disp12MaxDiff = 10;
sgbm.fullDP = false;
sgbm.P1 = 600;
sgbm(g1, g2, disp);
normalize(disp, disp2, 0, 255, CV_MINMAX, CV_8U);sgbm.P2 = 2400;
imshow("left", img1); imshow("right", img2); imshow("disp1", disp1); imshow("disp2", disp2);cvWaitKey();
return 0;}
- Mar 09 Wed 2016 08:28
-
C# Something You Should Know when Using SerialPort 串列埠使用須知

以往我的做法是”COM”+數字(1~16)然後再去跑回圈測試可能的串列埠, snipet code like this[1]:
using System.IO.Ports;private SerialPort sp;for (int i = 1; i <= 16; i++)
{ try {sp = new SerialPort("COM" + i.ToString(), baud, parity, databits, stopbits);
sp.Open();
if(sp.IsOpen){this.Label1.Text += ("COM"+i.ToString()+" is available.\n");
}
}
catch (Exception) //開埠不成功就會到這來
{ // 執行開埠不成功的處理}
finally {sp.Close();
}
}

