The purpose of this book is to spur the adoption and the creation of domain-specific languages, especially for the task of creating hardware designs. It should serve as a useful introduction to domain-specialized computing for computer architecture students and as a primer on domain-specific languages and image processing hardware for those with more experience in the field.