Xử lý ảnh với OpenCV - Tut5: Histogram Equalization

Xử lý ảnh với OpenCV - Tut5: Histogram Equalization

Mục tiêu bài viết Bài viết cung cấp cho người đọc kiến thức cơ bản về kĩ thuật Histogram Equalization (cân bằng Histogram) trong xử lý ảnh 1. Histogram equalization 1.1 Image Histogram Nếu chưa biết hay chưa hiểu rõ về Histogram, bạn có thể tham khảo tại [3]. Trước khi tìm kĩ thuật Histogram equalization, trước hết, bạn cần phải hiểu khái niệm histogram của ảnh. Histogram của ảnh, định nghĩa một cách đơn giản, là một cách biểu diễn (bằng hình ảnh) (graphical representation) về phân bố cường độ sáng của ảnh. Trong Histogram của ảnh, trục ... »

Xây dựng môi trường đơn giản với Docker Compose

Xây dựng môi trường đơn giản với Docker Compose

Đối với mỗi quá trình phát triển một web application, việc xây dựng môi trường phát triển là không thể thiếu. Thời đại Devops chưa thực sự rõ ràng, các developer thường tự cài đặt trên máy thật của chính mình, như là cái XAMPP nếu code PHP, cài JDK với Java,... và cả các Database căn bản. Sau đó với sự ra đời của Vagrant, kết hợp với ứng dụng tạo máy ảo miễn phí Virtualbox, dần dần việc cài đặt trở nên linh hoạt và hiệu quả hơn, cô lập mức tới mức OS để giữ cho máy ... »

Lifecycle Hook trong React 16.3

Lifecycle Hook trong React 16.3

Khi chúng ta làm việc với React hoặc tìm hiểu kỹ hơn về React Component, ta thường xuyên gặp các phương thức như : componentDidMount(), componentDidUpdate(), componentWillUnmount()...Đó chính là các React Lifecycle Methods - Các phương thức vòng đời của React. Khi bạn extends React.Component khi khởi tạo 1 class trong React. Chúng ta sẽ override các method lifecycle này để thực thi một số công việc nhất định. Do đó việc hiểu biết cách làm việc của các Method Lifecycle là rất quan trọng. Từ phiên bản 16.3 trở đi, React lifecycle đã có một số thay ... »

Đọc, xử lý log và gửi tin nhắn tới Slack bằng Fluentd

Đọc, xử lý log và gửi tin nhắn tới Slack bằng Fluentd

Đối với việc monitoring một hệ thống, thì việc căn bản đầu tiên là có một tác vụ tự động gửi notification về để thông báo cho chúng ta khi có lỗi xảy ra trên hệ thống. Trong bài viết này, chúng ta sẽ thực hiện cách notification đơn giản bằng cách sử dụng Fluentd để gửi message về Slack . ... »

Cách chạy các subprocess in Ruby

Cách chạy các subprocess in Ruby

Trong quá trình làm việc với Ruby, khi bạn muốn chạy 1 số câu lệnh hệ thống, đơn giản chỉ cần chọn phương thức phù hợp với bạn: `backticks` %x[different backticks] Kernel.system() Kernel.spawn() IO.popen() Open3.capture2, Open3.capture2e, Open3.capture3 Open3.popen2, Open3.popen2e, Open3.popen3 ... Tuy nhiên, việc có quá nhiều phương thức khiến ta không biết lựa chọn như thế nào cho phù hợp. Sau đây là 1 số pattern phổ biến khi chạy subprocess với Ruby: 1. Chạy subprocess không cần output Khi bạn muốn chạy một cái gì đó, nhưng không cần ... »

Giới thiệu về graph neural network

Giới thiệu về graph neural network

Neural network là 1 khái niệm vô cùng quen thuộc trong học máy, và graph (đồ thị) là 1 dạng cấu trúc dữ liệu vô cùng cơ bản để lưu trữ thông tin. Trong những năm gần đây, việc sử dụng các giải thuật học máy đang rất phát triển, và trong bài viết này chúng ta sẽ đề cập đến việc áp dụng neural network cho graph. Trong bài viết đầu tiên này, chúng ta sẽ quay trở lại các khái niệm graph, neural network và sự khác biệt khi sử dụng graph như 1 đầu vào với viêc ... »

Tính hướng đối tượng trong ngôn ngữ Go

Tính hướng đối tượng trong ngôn ngữ Go

I. Xuất thânGo hay Golang là ngôn ngữ lập trình được tạo bởi Google (bao gồm các lập trình viên của Google và các lập trình viên khác). Ngôn ngữ lập trình này là miễn phí và là mã nguồn mở và hiện đang được Google duy trì. Một trong những thành viên sáng lập của Go là Ken Thompson, người nổi tiếng với công việc phát triển hệ điều hành Unix. Trình biên dịch Go ban đầu được viết bằng C nhưng bây giờ, nó được viết bằng chính Go. II. Vì sao Go được sinh ra?Bốn điều ... »