9/12/2013

compare appearance photos macbook air haswell and lg notebook z360








macbook air haswell 13 inch, appearance photos












very very good equipment.

Satisfied in all.
However, our country has been concentrated in the Windows environment application services, so
Mac to use a lot of uncomfortable.
To use ms office (of course the Mac version is also available), games, Banking and I also should be developed in vs2012.

There is vmware(fusion 5,6), parallels to use window with mac.
But requires a lot of resources and slow (especially high-quality video, 3d game).
And sometimes the window is abnormal operating.

Using Boot Camp that is obscure.
Because when you boot into Windows, the Mac would be well not to use.







LG notebook Z360 appearance photos

The screen is very good.
Thin and light and speed is fast.
But.. typing is uncomfortable, track pad is not speed reaction like mac 
The click part is to touch, difficult to adapt.

LG notebook Z360 appearance photos



supplied contents






leather case


Overall, not bad laptop.
So I had bought 4 more. ^^

9/09/2013

OpenCV, To create Histogram and Draw example source code

Example source code to make histogram and drawing.
Show the 'mareHistogram' function.
Input is Mat. The property is CV_8U and binary image.
Output is also Mat. The output Mat is image of histogram.
If you want to get histogram value array, you should get mhist Mat instead of histo in the function.

Thank you.

Mat mareHistogram(Mat& img, int t)
{
 
 //col or row histogram?
 int sz = (t)?img.rows:img.cols;
 Mat mhist = Mat::zeros(1, sz, CV_8U);

 //count nonzero value and check max V
 int max=-100;
 for(int j=0; j < sz; ++j)
 {
  Mat data = (t)?img.row(j):img.col(j);
  int v = countNonZero(data);
  mhist.at< unsigned char >(j) = v;
  if(v > max)
   max=v;
 }

 Mat histo;
 int width,height;
 if(t)
 {
  width = max;
  height = sz;
  histo = Mat::zeros(Size(width, height), CV_8U);

  for(int i=0; i < height; ++i)
  {
   for(int j=0; j < mhist.at< unsigned char >(i); ++j)
    histo.at< unsigned char >(i,j) = 255;
  }

 }else{
  width = sz;
  height = max;
  histo = Mat::zeros(Size(width,height), CV_8U);

  for(int i=0; i< width; ++i)
  {
   for(int j=0; j< mhist.at< unsigned char >(i); ++j)
    histo.at< unsigned char >(max-j-1,i) = 255;
  }

 }

 

 return histo;

}

void main()
{
        Mat img;
 img = imread(".\\test\\2.jpg", 0);

 
 threshold(img, img, 128, 255, CV_THRESH_BINARY);
 
 //0 horizontal(width), 1 vertical(height)
 Mat hHisto = mareHistogram(img, 0);
 Mat vHisto = mareHistogram(img, 1);

  
 imshow("origin",img);
 imshow("hh",hHisto);
 imshow("vv",vHisto);

 waitKey(0);
}




///