Coder Social home page Coder Social logo

leannalexandra / reimagine Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 1.73 MB

reImagine is QT based integration of a project of mine named "imageTexturing" both projects aims to understand image blending and conversion techniques in openCV.

License: MIT License

QML 3.57% C++ 96.43%

reimagine's Introduction

reImagine

reImagine is a QT-based extension of my previous project, "imageTexturing." Both projects focus on understanding and implementing image blending and conversion techniques using OpenCV. This project introduces a reactive Qt window that allows resizing and image saving through the menu bar, offering a sleek and simple design coupled with an effective algorithm for adding texture to input images.

Table of Contents

Overview

reImagine is an iteration on the original "imageTexturing" project, now featuring a dynamic Qt interface. The goal remains to apply textures to input images using OpenCV, but with improved usability and design in a minimum viable product (MVP) version 1.0.

MVP 1.0

A sleek stylish interface, that uniformly scrolls across all three images, should you find artefacts or inspect certain regions before saving. This window is sized dynamically and will ensure a great indication of tweeks in later iterations. Input Image

Image Texturing

Image Texturing explores several approaches on how texture can be transformed on a pixel level, including using different approached. This approached used here is a combination of blending the two images, as well as taking the HSV (Value/ Darkness) into account to add more dramatic shaddow from the texture image. - note: most ineffective and low-yielding methods are removed for simplicity.

Input Image
Input Image: Original image used for texture mapping. - Luca Bravo @Unsplash
Texture
Texture: Image used as a texture overlay. -Annie Sprat @Unsplash
Final Image
Final Image: Resulting image with applied texture.

Prerequisites

Before running the program, ensure you have the following installed:

  • C++ compiler
  • OpenCV (version 4.x)
  • Qt (version 5.x or 6.x)
  • Q build system (QBS)

Setup

Clone the Repository:

  git clone https://github.com/LeannAlexandra/reImagine.git
  cd reImagine

Compile the Program:

  qmake reImagine.qbs
  make

Usage

Run the Program:

    ./reImagine

Expected Output: The program will display the input image, output image and the image with the applied texture in a Qt window. You can resize the window and save the output image from the menu bar. You can grab and pan all three uniformly to always see the exact region of interest.

Functionality

The program reads an input image (inputImage.jpg) and a texture image (canvas.jpg) from the project directory. It overlays the texture onto the input image, adjusts brightness based on texture intensity, and displays the resulting image. Users can save the output image directly from the Qt window.

Contributing

Contributions are welcome! If you have ideas for improvements or encounter any issues, please open an issue or submit a pull request.

License

This project is licensed under the MIT License.

reimagine's People

Contributors

leannalexandra avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.