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.

Feb 27, 2012

Driver

 

Driver, một trong những khái niệm quan trọng trong máy tính, đồng thời là một phần không thể thiếu đối với những chàng "sửa máy dạo". Vậy driver là gì? Làm thế nào để có thể giải quyết tốt các vấn đề driver khi tiếp xúc và xử lý yêu cầu. Bài viết này sẽ giúp các bạn hiểu thêm được phần nào.

 

(Trong khuôn khổ bài viết, mình chỉ đề cập ở mức khái niệm và các tips giúp các bạn nhanh giải quyết, về chuyên sâu về viết driver, tiến trình cài đặt, hoạt động, mình xin không chuyên sâu).

Tự tạo giao diện cho trình duyệt Chrome theo phong cách riêng.

Bạn không muốn sử dụng theme cố định của Google Chrome, và cũng không thích dùng theme của người khác, cũng như muốn tự tạo ra theme cho riêng mình. Điều đó hoàn toàn có thể với tutorial sau.

Jan 31, 2012

Tài liệu Tin học cơ sở

Đây là tài liệu môn Nhập Môn Công nghệ Thông Tin 1 của trường KHTN, dù mang cái tên “khủng” như vậy nhưng giáo trình rất thân thiện và dễ hiểu, dành cho hầu hết các đối tượng là người dùng phổ thông.

Link folder

Các file bắt đầu bằng: NMCNTT1_. … là giáo trình. Các file khác là tài liệu ngoài nhằm tham khảo thêm.

Chi tiết các tài liệu tham khảo:

Jan 15, 2012

Đồ án CDIO - Thiết kế nhà.

clip_image001

Ý tưởng thiết kế:

Ngôi nhà được thiết kế với một phong cách đặc biệt, với một sự chắc chắn trong cấu trúc và vẻ đẹp truyền thống. Được xây dựng chủ yếu bằng vật liệu là tăm, ngôi nhà thể hiện một nép độc đáo riêng. Ngôi nhà được bao bọc bên ngoài bởi những lớp tăm chắc chắn, khác với những ngôi nhà khác được bao bọc bởi giấy. Đây chính là điều làm tạo cho ngôi nhà của nhóm WTF trái ngược hẳn với những ngôi nhà khác và đồng thời có được một vẻ đẹp riêng. Ngoài ra, với những ý tưởng sáng tạo như thiết kế thêm cổng rào, ang-ten, đèn treo, ngôi nhà thật sự trở nên rất đặc biệt và tạo nên phong cách thật sự của nhóm WTF – một phong cách ấn tượng và sáng tạo.

Kết cấu ngôi nhà:

Ngôi nhà được thiết kế với ngói mái dốc thoải ngăn chặn nước ứ đọng, tránh hiện tự ủ dọt phần mái, các thanh tăm được xếp xuôi theo chiều dòng chảy giúp nước được chảy nhanh hơn. Tường xung và hệ thống cột được xây bằng tăm nhằm tăng cường độ vững chắc, tránh bị sập, cũng như dột khi nước chảy xuống. Hệ thống cửa chính và cửa sổ tạo sự thông thoáng cho ngôi nhà.

Phong cách được dựa theo các kiểu nhà ở thôn quê Việt Nam, tạo sự ấm áp, thân thiện với người dùng.Tuy mộc mạc, giản đơn nhưng cũng không kém phần hiện đại với hệ thống anten TV, hệ thống kết nối wifi. Lá cờ được treo thể hiện phong cách cá tính của nhóm wtf.

Tổng quát hơn, ngôi nhà đã đáp ứng được những nhu cầu căn bản, đồng thời là sản phẩm của sự kết hợp các yếu tố: hiệu quả, bền vững, tiết kiệm kinh phí, đẹp và gây thiện cảm, thân thiện với môi trường. (Nhỏ, gọn, xinh). Phù hợp với phong thủy và kết cấu đương đại thời hiện đại.

Jan 7, 2012

Vài điều về ngôi trường mới nhập học.

Đã lâu rồi trình “chém gió” bằng tay không đượcc cải thiện, thời gian ôn thi đại học và những chuyện vớ vẩn đã chiếm hết thời gian. May mắn thay, bây giờ lại được có dịp tung chưởng.

Nhưng mà quả thật đầu óc hiện đan bấn loạn, cho nên, dù “bị” hay “được” thì cũng phải viết bài này.

Vẫn style cũ, viết từng dòng mỗi khi trong đầu diễn thành văn xuôi:

  • Tất cả giảng viên và trợ giảng đều rất nhiệt tình và quan tâm đến sinh viên của mình. Các thầy cũng vui tính và “chém gió” rất giỏi.
  • Chương trình học khá là “thách thức” mang đầy tính ngẫu hứng và kích thích sinh viên. Nhiều lúc vì lí do này mà hơi ức chế vì các thầy ra đề không cụ thể lắm.
  • Nhập môn CNTT là vui nhất, làm đồ án, được trao đổi nhiều điều với các thầy (lí thuyết), thực hành khá vui và gay cấn ở phần sau ..
  • NHập môn LT khá là oải ở phần lý thuyết, lý thuyết nên hơi khô khan. Thực hành thì khỏi chê, mỗi lần lên là lại được hại não.