• May 06 Sun 2012 02:19
  • 慧眼

前天發現我的論文密技方法在2009年的期刊被發表一樣的方法了
今天發現我的十年計劃要因在遠見雜誌被一篇報導給報出來了

我想 我真的有獨特的慧眼 可是能看到未來趨勢的 尚大有人在....

prague12 發表在 痞客邦 留言(0) 人氣()

有收支 有專業 有見聞 有胸襟 然後 回歸初心 予者予以 ~

prague12 發表在 痞客邦 留言(0) 人氣()

部分引用於:
http://www.wretch.cc/blog/rubylinmusic/11677485


很無意的剛剛寫完自己的阻生齒發炎發洩文文章後 , 突然想看看紅寶石的BLOG是不是已經失連?

連過去看來是還有再更新 跟我的BLOG一樣活了好多年還沒死 這表示紅寶石也是個長期文青 如我一般

好吧 我承認的文青只有剩下青苔的青 長不出大樹了

然而這一連 連到這篇文 "Reality & Faith" 文很短 卻讓我深深嘆了口氣 得到多年前的我不敢確定的答案

心有戚戚焉的來寫下這篇感言 :

在當年 實際上大約是4年前 紅寶石的文章給我ㄧ種相似感 甚至是當時面對環境抉擇的考驗也是
那時候 我選擇休學離開高師大 選擇去做家庭反對 大眾不敢違背的常規 選擇堅持自我的聲音

那時候不是不害怕是不是會做錯 但是我做了 堅持的信念 終究打造出今日的JK 固然艱辛而不後悔

但是據我所知 當時紅寶石順從了家裡的聲音 不敢面對最深的自己 走了光電工程師的路

越走越深 越走越痛苦

那時候,我做著跟紅寶石相反的決定,卻是相同的處境. 所以記憶一直很深

也一直把紅寶石當做驗證自己的歷史證據

然而這幾年來 都沒法證明誰對誰錯 直到今天無意連到紅寶石這篇文
我想這就是緣分 我看到了答案 驗證了我多年來的疑問

紅寶石 很痛苦我明白 但是我一直不知道她後不後悔不敢做自己

"有的,如果這一路有任何決定讓我後悔,我會說有。" by "Reality & Faith"

-----------

要懂得批判 懂得做自己 懂的創新 無論是大前研一還是郭董,賈伯斯 的專訪都明白的指出這幾點精神

然而大學教育告訴我們最重要的一件事 " 要對知識感到質疑更要會批判事件的價值"

不過又有多少拿所謂大學文憑的能做得到 我想是 極少數.

prague12 發表在 痞客邦 留言(0) 人氣()

我的右口兩顆阻生齒 一顆斜長又倒鉤 一顆又深又橫躺老是讓後齒發炎
牙醫診所最後還是建議我回去成大醫院拔 .
醫生還跟我說:
這如果動脈出血 也只能送去成大醫院... 又要約2個月了嗎 天阿!!
好吧 我又有機會領大保險金了 !

prague12 發表在 痞客邦 留言(0) 人氣()

package COM.TQC.GDD01;

import COM.TQC.GDD01.R;
import android.app.Activity;
import android.os.Bundle;
import android.text.method.HideReturnsTransformationMethod;
import android.text.method.PasswordTransformationMethod;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.EditText;
import android.widget.TextView;

public class GDD01 extends Activity {
//---------------------------------------------
private EditText et;
private Button bt1 , bt2;
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

et = (EditText) findViewById(R.id.inputText );
bt1 = (Button) findViewById(R.id.button1 );
bt2 = (Button) findViewById(R.id.button2 );


bt1.setOnClickListener(FtoM);
bt2.setOnClickListener(FtoM2);
// bt1.setOnClickListener(new Button.) ;

}



private OnClickListener FtoM2 = new OnClickListener()
{

@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
et = (EditText) findViewById(R.id.inputText );
TextView result = (TextView) findViewById(R.id.result);
result.setText("JJKKK22");
}
};

private OnClickListener FtoM = new OnClickListener()
{

@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
et = (EditText) findViewById(R.id.inputText );
TextView result = (TextView) findViewById(R.id.result);
result.setText("JJKKK");
}
};
//---------------------------------------
}

prague12 發表在 痞客邦 留言(0) 人氣()

還捨不得走...


今天晚上去自強校區慢跑了一圈 ..看著電機系館的光影

兩年前 我跟小羚羊一起來過的系館 憧憬的系館



過了兩年了嗎
而我來了 似乎才晃眼 還捨不得走...



在這裡 神人是見識到了...
但似乎還需要創造些什麼 才會留下些什麼

prague12 發表在 痞客邦 留言(0) 人氣()

進NTOU念大學以前 我訂了4件目標 大學畢業的時候 我發現我超越四件事
進NCU碩班的時候 我訂了1件事 我發現在那裏做不到 而且我選擇離開了
後來進了NCKU碩班 那一件事 慢慢的我以為不是那麼重要

但是 卻還是會想起 那時候的衝勁
然後想想 說到做到 對自己負責最重要!!

prague12 發表在 痞客邦 留言(0) 人氣()


引用:
http://blog.csdn.net/fengbingchun/article/details/5935205



最大类间方差法是由日本学者大津于1979年提出的,是一种自适应的阈值确定的方法,又叫大津
法,简称OTSU。它是按图像的灰度特性,将图像分成背景和目标2部分。背景和目标之间的类间方差
越大,说明构成图像的2部分的差别越大,当部分目标错分为背景或部分背景错分为目标都会导致2部
分差别变小。因此,使类间方差最大的分割意味着错分概率最小。
对于图像I(x,y),前景(即目标)和背景的分割阈值记作T,属于前景的像素点数占整幅图像的比
例记为ω0,其平均灰度μ0;背景像素点数占整幅图像的比例为ω1,其平均灰度为μ1。图像的总平均
灰度记为μ,类间方差记为g。
假设图像的背景较暗,并且图像的大小为M×N,
图像中像素的灰度值小于阈值T的像素个数记作N0,像素灰度大于阈值T的像素个数记作N1,则有:
      ω0=N0/ M×N (1)
      ω1=N1/ M×N (2)
      N0+N1=M×N (3)
      ω0+ω1=1 (4)
      μ=ω0*μ0+ω1*μ1 (5)
      g=ω0(μ0-μ)^2+ω1(μ1-μ)^2 (6)
将式(5)代入式(6),得到等价公式: g=ω0ω1(μ0-μ1)^2 (7)
采用遍历的方法得到使类间方差最大的阈值T,即为所求。

prague12 發表在 痞客邦 留言(0) 人氣()

透過Excel的內部ode交換 將XLS轉換成CSV輸出

//'------------------------------------------

namespace XLStoCSV
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

private void button1_Click(object sender, EventArgs e)
{
string sourceFile, worksheetName, targetFile;
sourceFile = "source.xls";
worksheetName = "sheet1";
targetFile = "targetAA.csv";

if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
sourceFile = openFileDialog1.FileName;
}


convertExcelToCSV(sourceFile, worksheetName, targetFile);

MessageBox.Show("OK");
}

//==================
static void convertExcelToCSV(string sourceFile, string worksheetName, string targetFile)
{

// string strConn = "Provider = Microsoft.Jet.OLEDB.4.0 ; Data Source = ' " + sourceFile + " ' " + ";Extended Properties=Excel 8.0 ; HDR=Yes;IMEX=1\" ";
// sourceFile = "new_N40SM1.1.xls";
string strConn = " Provider='Microsoft.Jet.OLEDB.4.0';"+ "Data Source='" + sourceFile +"';Extended Properties='Excel 8.0;IMEX=1;HDR=NO;' ";
OleDbConnection conn = null;
StreamWriter wrtr = null;
OleDbCommand cmd = null;
OleDbDataAdapter da = null;
try
{
conn = new OleDbConnection(strConn);
conn.Open();

cmd = new OleDbCommand("SELECT * FROM [" + worksheetName + "$]", conn);
cmd.CommandType = CommandType.Text;
wrtr = new StreamWriter(targetFile);

da = new OleDbDataAdapter(cmd);
DataTable dt = new DataTable();
da.Fill(dt);

for (int x = 0; x {
string rowString = "";
for (int y = 0; y {
rowString += "\"" + dt.Rows[x][y].ToString() + "\",";
}
wrtr.WriteLine(rowString);
}
//Console.WriteLine();
//Console.WriteLine("Done! Your " + sourceFile + " has been converted into " + targetFile + ".");
//Console.WriteLine();

}
catch (Exception exc)
{
MessageBox .Show ( exc.ToString());

}
finally
{
if (conn.State == ConnectionState.Open)
conn.Close();
conn.Dispose();
cmd.Dispose();
da.Dispose();
wrtr.Close();
wrtr.Dispose();
}
}

//=================
}
}

prague12 發表在 痞客邦 留言(0) 人氣()

Private Sub Button28_Click(sender As System.Object, e As System.EventArgs) Handles Button28.Click

'Dim aa = Math.Sin(30 / 57.17)
'Dim bb = Math.Asin(aa) * 57.17
'Dim RGB_center(2, 1) As Integer

'-------選取來源檔視窗-------------------
OpenFileDialog1.Filter = ".raw|*.*"
Dim path1 As String

MsgBox("請選擇 背景圖")
If OpenFileDialog1.ShowDialog() = Windows.Forms.DialogResult.OK Then
path1 = OpenFileDialog1.FileName
Else
MsgBox("no select Pic")
Exit Sub
End If
'-----------------------------------------------------------------
Dim filename = path1.Split(".")(0)
Dim pic_xy As New Bitmap(path1)

Dim R_max As Integer = Math.Sqrt((pic_xy.Width / 2) ^ 2 + (pic_xy.Height / 2) ^ 2) + 1
Dim theda_max = 360
Dim pic_polar As New Bitmap(R_max, theda_max) '


Dim x_center = pic_xy.Width / 2
Dim y_center = pic_xy.Height / 2


Dim wt_R As New IO.StreamWriter(filename + "_R.txt", False)
' Dim wt_theda As New IO.StreamWriter("c:/theda.txt")

For j = 1 To pic_xy.Height - 1
For i = 1 To pic_xy.Width - 1

Dim R As Integer = Math.Sqrt((i - x_center) ^ 2 + (j - y_center) ^ 2)
Dim theda As Integer = Math.Atan((j - y_center) / (i - x_center + 0.001)) * 57.1745 '轉為單位 >> 度

If i theda = theda + 180
End If

If i y_center Then
theda = theda + 180
End If

If i > x_center And j theda = theda + 360
End If
If i > x_center And j > y_center Then
theda = theda + 0
End If


Dim v = pic_xy.GetPixel(i, j)
pic_polar.SetPixel(R, theda, v)

Dim xy_str = i.ToString + "_" + j.ToString
wt_R.WriteLine(R.ToString + "," + theda.ToString + "," + xy_str)

Next
Next

Dim histR As New List(Of Integer)
Dim wt_histR As New IO.StreamWriter(filename + "_histR.csv")
For i = 0 To pic_polar.Width - 1 ' R
Dim sum_rowofR = 0
For j = 0 To pic_polar.Height - 1 'theda
Dim vv = pic_polar.GetPixel(i, j).R
sum_rowofR = sum_rowofR + vv
Next
histR.Add(sum_rowofR)
' wt_histR.WriteLine(sum_rowofR.ToString)
wt_histR.WriteLine(histR.Max.ToString)

Next

wt_R.Flush()
wt_R.Close()
wt_histR.Flush()
wt_histR.Close()
pic_polar.Save(filename + "_polar_pic.jpg", Imaging.ImageFormat.Jpeg)

MsgBox("over" + histR(0).ToString)





End Sub

prague12 發表在 痞客邦 留言(0) 人氣()

~取得Debug .exe 根目錄 路徑方法~

參考:
http://hi.baidu.com/sneer_owen/blog/item/61ec67a92af22eaccb130cbc.html

Application.StartupPath.ToString();  //获取启动了应用程序的可执行文件的路径,不包括可执行文件的名称


 

'--------------------------

 其中:以下两个方法可以获取执行文件名称

  1、Process.GetCurrentProcess().MainModule.FileName;//可获得当前执行的exe的文件名。

  2、Application.ExecutablePath;//获取启动了应用程序的可执行文件的路径,包括可执行文件的名称

 1、取得控制台应用程序的根目录方法

  方法1、Environment.CurrentDirectory 取得或设置当前工作目录的完整限定路径

  方法2、AppDomain.CurrentDomain.BaseDirectory 获取基目录,它由程序集冲突解决程序用来探测程序集

  2、取得Web应用程序的根目录方法

  方法1、HttpRuntime.AppDomainAppPath.ToString();//获取承载在当前应用程序域中的应用程序的应用程序目录的物理驱动器路径。用于App_Data中获取

  方法2、Server.MapPath("") 或者 Server.MapPath("~/");//返回与Web服务器上的指定的虚拟路径相对的物理文件路径

  方法3、Request.ApplicationPath;//获取服务器上ASP.NET应用程序的虚拟应用程序根目录

  3、取得WinForm应用程序的根目录方法

  1、Environment.CurrentDirectory.ToString();//获取或设置当前工作目录的完全限定路径

  2、Application.StartupPath.ToString();//获取启动了应用程序的可执行文件的路径,不包括可执行文件的名称

  3、Directory.GetCurrentDirectory();//获取应用程序的当前工作目录

  4、AppDomain.CurrentDomain.BaseDirectory;//获取基目录,它由程序集冲突解决程序用来探测程序集

  5、AppDomain.CurrentDomain.SetupInformation.ApplicationBase;//获取或设置包含该应用程序的目录的名称






prague12 發表在 痞客邦 留言(0) 人氣()

C 的標準函式庫提供了兩個非常好用的函式,可以快速的轉換字串成為數值。


char s[10];
int n;
int count = sscanf(s, "%d", &n); // 字串s轉數字n
int length = sprintf(s, "%d", n); // 數字n轉字串s


http://blog.urdada.net/2008/04/18/85/

prague12 發表在 痞客邦 留言(0) 人氣()

% 日期: 2012.0212
% 編者: JK
% 版本: ed1.1
% matlab: 7.0
%------------------------------
% plot 對於兩點是同座標是無法plot出來 所以這裡不使用plot方法來繪圖
% 而採用 annotation('arrow',[xx_pre xx_pre],[yy_preyy],'LineStyle','-','color',arrow_color); %標註箭頭 , arrow_color=[r g b]

clc;
clear;
[x y c]=textread('H:\txtTocsv_20111112_N07_eye+hand_05.csv' ,' %s %s %s', 'delimiter', ',' ,'whitespace','' );

nn_all=length(x) ;

aX=[0];
aY=[0];
%aP=[x y] ;
arrow_color=[1 0 0];
xx=0;
xx_pre=0;
yy=0;
yy_pre=0;

color_deep=1.0 ;
thesame_count=0.005; % 預設線寬 2 pt
for i=(3+1) : (nn_all-2) %第3點以後才有座標點 >> 從第(3+1)點開始掃描

%----分7組 顏色控制------------------
if (i>60*0) && (i arrow_color=[color_deep 0 0] ;
end
if (i>60*1) && (i arrow_color=[0 color_deep 0] ;
end
if (i>60*2) && (i arrow_color=[0 0 color_deep] ;
end
if (i>60*3) && (i arrow_color=[0 color_deep color_deep] ;
end
if (i>60*4) && (i arrow_color=[ color_deep 0 color_deep] ;
end
if (i>60*5) && (i arrow_color=[ color_deep color_deep 0 ] ;
end
if (i>60*6) && (i arrow_color=[ color_deep color_deep color_deep ] ;
end
%-----/分7組 顏色控制/---------------------




%/-----------分顏色深淺畫箭頭-----------------------------
xx=str2double( x(i) ) ;
yy=1- str2double( y(i)); % y軸反向 (改要以左下為原點)
xx_pre=str2double( x(i-1) ) ;
yy_pre=1- str2double( y(i-1)); % y軸反向 (改要以左下為原點)

if (xx==xx_pre && yy==yy_pre)

annotation('rectangle',[xx yy thesame_count thesame_count] );% 對重複的位置做矩行標記 重複愈多次標記矩型越大
annotation('line',[xx_pre xx+0.005],[yy_pre yy+0.005],'LineStyle','-','Linewidth',2,'color',arrow_color); %標註箭頭 , arrow_color=[r g b]
thesame_count=thesame_count+0.005 ;% 若有重複點 加寬線寬

else
thesame_count=0.005;
annotation('line',[xx_pre xx],[yy_pre yy],'LineStyle','-','Linewidth',2,'color',arrow_color); %標註箭頭 , arrow_color=[r g b]
annotation('textarrow',[xx_pre xx],[yy_pre yy],'LineStyle','-','Linewidth',2,'color',arrow_color); %標註箭頭 , arrow_color=[r g b]

end


color_deep= color_deep- (1/60) ; % 同組色內分深淺 60點為一組

if (color_deep color_deep=1 ;
thesame_count=0.005;
end % end if
%------------/分顏色深淺畫箭頭/-----------------------------------
end % end for


xlabel('(x)'); %水平座標名稱
ylabel('(y)'); %垂直座標名稱
grid on;

prague12 發表在 痞客邦 留言(1) 人氣()

clc;
clear;
[x y ]=textread('H:\xy.csv' ,'%s %s' );
nn=length(x) ;

for i=2: nn

xx=str2double( x(i) );
yy=str2double( y(i));
plot(xx ,yy,'--p') ;
%plot(xx,yy,'--rs','LineWidth',1, 'MarkerEdgeColor','k', 'MarkerFaceColor','g','MarkerSize',5)
hold on ;
end

xlabel('(x)'); %水平座標名稱
ylabel('(y)'); %垂直座標名稱
grid on;

prague12 發表在 痞客邦 留言(2) 人氣()

//----------------------------------------------
// 本文介紹:函數指標 in C++
// 函數指標 不等於 指標函數 , 函數指標還是個指標 相當於函數的進入點 , 功能上相當於C#的函數委派
// 函數指標對於 >> 1.類別內函數 2.外部函數 的使用方式
// 本文日期: 2012.02.10
// 本文作者: JK大仙
//----------------------------------------------

#include "stdafx.h"
#include "math.h"
#include "stdio.h"
#include
using namespace std ;
//===========class======================

class Cff // 這是一個類別 內部有一個運算用的函數 add_em(a,b)
{
private:
//--------------------
public:
static long add_em(int a, int b) // 這裡要特別注意 類別內部函數必須使用 static >> 新指標才能抓到這個類別內的函數地址
{ return((a+b));}

//-----------------------
//Cff(){;} 建構子 ,不寫 編譯器也會自動幫你加
};
//========/class /============================






//===========main=========================//外部函數 add2(a,b)
long add2_em(int a, int b) //外部函數不需要 static
{
return(((a+b)*2));
}
double (*flog)(double x); // 函數指標

void main()
{
//----------------------------------------------
long ( *math)(int a ,int b); // 注意 (*math)(,)參數型態要長的跟要指向的函數的(,)參數一樣才行
math = Cff::add_em ; // 指向類別內的自定函數 add_em

long ( *math2)(int a ,int b);
math2 = add2_em ; // 指向外部自定函數 add2_em

//---------------------------
flog = log; // 指向庫存函數
cout






>a ;
}

//================/main/=======================

prague12 發表在 痞客邦 留言(0) 人氣()