Mar 28, 2012

Lấy bookmark của Chrome

Nếu lỡ tay cài lại win, hay làm gì đó mà quên export Bookmark của Chrome. Bạn có thể lấy lại tất cả dữ liệu bằng cách lấy file bookmark ở địa chỉ:

“[Old OS driver]:\User\[Username]\AppData\Local\Google\Chrome\User Data\Default”

Chép bookmark và bookmark.bak đè lên thư mục mới của nó

“[New OS driver]:\User\[Username]\AppData\Local\Google\Chrome\User Data\Default”

Mar 13, 2012

Chuyển ảnh màu sang ảnh xám

image

Tạo 1 project Win32 console và chép code sau:

#include <iostream> 
#include <opencv2\opencv.hpp>
#include <opencv2\highgui\highgui.hpp> 
using namespace std; 
using namespace cv; 
void main() 
{         
    // Load ảnh cần chuyển
    IplImage* img = cvLoadImage("pic1.jpg",1);
    // Tạo một biến mới để chuyển ảnh màu thành xem
    // cvGetSize(img) : lấy thông tin kích thước của img, IPL_DEPTH_8U là chuẩn màu của hình.
    IplImage* grayimg = cvCreateImage( cvGetSize(img), IPL_DEPTH_8U, 1);
    // Lấy thông tin chiều dài, rộng, số kênh màu, widthStep,
    int nl= img->height;
    int nc= img->width * img->nChannels;
    int step= img->widthStep;  
    int graystep = grayimg->widthStep;
    // img -> imageData: mảng chứa các mã màu của img
    uchar *data= (uchar *)img->imageData;
    uchar *graydata= (uchar *)grayimg->imageData;
 
    for (int i=0; i < nl; i++) {
       for (int j=0; j < nc; j += img->nChannels) {
        // Công thức chuyển anh RGB thành màu GRAY.
           graydata[(int)j/3]=  (unsigned char) (0.299*data[j + 0] + 0.587*data[j + 1] + 0.114*data[j+2] + 0.5);
        }
            data+= step;
            graydata+=graystep;
    }
    // Mở và hiển thị ảnh vừa chuyển
    cvNamedWindow("Xam",0);
    cvShowImage("Xam",grayimg);
    waitKey(0);
    // Giải phóng vùng nhớ
    cvDestroyWindow("Xam");
    cvReleaseImage(&img);
    cvReleaseImage(&grayimg);
}  

Mar 7, 2012

Hướng dẫn cài đặt OpenCV cho Visual Studio 2010, 2012 và 2013 bản x64.

Mình đã vật lộn mất gần một buổi để cài nó. Hi vọng có bạn nào dùng cái này sẽ đỡ phải nhọc. Không chỉ cài đặt được trên phiên bản 2.3.1, hướng dẫn dưới đây còn áp dụng được cả cho các phiên bản 2.0 về trước và các bản mới nhất. Đồng thời chạy tốt trên các bản Visual Studio 2008, 2010, 2012.

Registry.

 

Đây là một trong những khái niệm cơ bản và thường xuyên gặp khi các bạn đi sửa máy, đồng thời nó cũng khá quan trọng nếu sau này các bạn lập trình ứng dụng window, sử dụng các API.