An open API service indexing awesome lists of open source software.

https://github.com/maxinexiong/image-background-remover-bot-rpa

An automation solution that iterates through photos in a folder, removes the background using an online AI tool, and saves the edited photos in a separate folder.
https://github.com/maxinexiong/image-background-remover-bot-rpa

file-handling image-background-removal robotic-process-automation rpa uipath uipath-studio

Last synced: 6 months ago
JSON representation

An automation solution that iterates through photos in a folder, removes the background using an online AI tool, and saves the edited photos in a separate folder.

Awesome Lists containing this project

README

          

### UiPath RPA Challenge
# Image Background Remover Bot

[![GitHub](https://badgen.net/badge/icon/GitHub?icon=github&color=black&label)](https://github.com/MaxineXiong)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
[![Platform - UiPath RPA](https://img.shields.io/badge/Platform-UiPath_RPA-fa4616)](https://www.uipath.com)


This repository hosts an automation solution designed to address the challenge outlined in the requirements below.

### **Objective**

Build a bot which **loops through photos in a folder then removes the background of the image using an online AI tool** https://www.remove.bg/. The **new photos must then be saved in a separate folder**. You can download some sample photos in the resources section of this lecture, the file is called "before.zip".

### **Instructions**

- Create a before and after folder in your project's folder. Populate the before folder with the images in the attached zip file.
- Open the browser with an *Open Browser* activity and maximise the browser window with a *Maximise Window* activity.
- Create a FileList variable of type Object Array and assign its value to the "Before" directory files.
- Use a *For Each* activity to loop through each file i.e. object in the object array.
- Click the Upload Image button in the browser. The *Click* activity must be within the body of the For Each loop. Tweak the selector accordingly.
- Use an *Attach Window* activity to attach to the Save As window.
- In the 'File name' field, use a *Type Into* to type the full path of the file then use a *Click* activity to click the 'Open' button. Ensure these activities happen in the background.
- Add a *Click* activity outside and after the *Attach Window* activity to download the file to your downloads folder on your PC.
- Use a *Move File* activity to move the downloaded image from your downloads file to the 'After' folder. Note these folder and file paths will need to be dynamic, so use string manipulation where necessary.
- Ensure that the *Move File* activity won't start until the file is confirmed to have been downloaded. You can use a static delay of 5 seconds for this and add that after the download *Click* and before the *Move File* activity. However, if you're up for the challenge try create a dynamic wait by using these four activities; *While*, *Path Exists*, *Assign* and *If*.
- Use a *Click* activity to click on the x which will remove the uploaded file in the browser after each run. Add this click after the Move File activity.
- Close the browser using a *Close Application* activity.

_You can check out the **automation demo video for the solution** below_:

https://github.com/MaxineXiong/Image-Background-Remover-Bot-RPA/assets/55864839/1579df74-9563-49fd-9ce6-86bf2d0d5e4b


## **Installation**

Before installing **UiPath Softwares**, please make sure your system meets the hardware and software requirements outlined in the **[UiPath documentation](https://docs.uipath.com/studio/standalone/2022.10/user-guide/hardware-and-software-requirements)**.

The **Uipath Platform** includes the following tools:

- **UiPath Studio**
- **UiPath Assistant**
- **UiPath Automation Cloud, including UiPath Orchestrator**


To run this project successfully, please follow these steps to install UiPath Studio:

***

Step 1 : Visit [uipath.com](https://www.uipath.com/) and click **Try UiPath Free** button.



Step 2: **Sign up** for a personal account.



Step 3: **Verify** your account in email.



Step 4: **Log into** the **UiPath Automation Cloud** using your account, and click the **Download Uipath Studio** button.



Step 5: Click **Sign in**.



Step 6: Select **UiPath Studio Pro**.



Step 7: Follow the system instructions to complete the installation of **UiPath Studio Pro**.




Please also follow these steps below to connect your local machine to the UiPath Automation Cloud for deploying this workflow (if desired):

***

Step 1: Sign up and log into [UiPath Automation Cloud](https://cloud.uipath.com/).

Step 2: Add a **Tenant**.



Step 3: **Edit** the user and assign the **Automation Users** role to grant them permission to execute processes.




Step 4: Go to the **Orchestrator** interface and click on **Tenant** in the left pane.




Choose **Folders** and then click the **+** icon to create a new folder.




Step 5: Navigate back to **Tenant** interface and follow the steps below to start adding an Automation User for Unattended Robot in **Manage Access**.



a) Scroll down to locate the target user, then assign the **Automation User** role to grant them the necessary permissions. Click **Next** button to move on to the next page.




b) In the *Personal automations setup* page, select the options to **Enable user to run automations** and **Create a personal workspace for this user and enable optimal Studio Web experience**, then click on the **Next** button.



c) On the *Unattended setup* page, check the option to **Enable this user to run unattended automations**, choose **Specific Windows credentials** for local machine connection to Orchestrator, provide **Domain\Username** of your user account on local machine (which can be found by executing `whoami` in Command Prompt), and enter the **Password** for accessing your local machine. Finally, click on the **Update** button.



Step 6: Now, go to the **Machines** page where you should see the workspace machine for the target user already created. Click the ellipsis to select **Edit Machine**.



Enter **1** for both the *Production (Unattended)* and *Testing* fields, then click the **Update** button.



Step 7: Now return to the newly created folder, choose the **Machines** menu, and click **Manage Machines in Folder** button to assign the machine you just configured to the folder.





You should now have both the **User** and **Machine** assigned to the new folder.



Step 8: Open **UiPath Assistant** and click **Sign In**. If you see the **green circle** in the top right corner, you’ve successfully connected your local *UiPath Studio* to the *UiPath Automation Cloud*.




You can confirm the connection by opening UiPath Studio and checking for a green circle at the bottom.



***

To **publish a process** from UiPath Studio to Orchestrator, **switch to the new folder** you just created in the Orchestrator, and then click to **Publish the process** as a package.



To learn more about other best practices on Orchestrator, please refer to the [Orchestrator User Guide](https://docs.uipath.com/orchestrator/standalone/2023.4/user-guide/introduction).


## **Usage**

To run the RPA workflow on your local machine, follow these steps:

1. Either **download** this repository to your local machine or **clone** it directly within your UiPath Studio.
2. Open the **UiPath Studio** software on your machine.
3. Locate and **open** the **Main.xaml** file from the downloaded repository in **UiPath Studio**.
4. **Run** the **Main.xaml** file to start the RPA process.


## **Acknowledgement**

I would like to express my gratitude to the **[UiPath community](https://community.uipath.com/)** for providing resources, tutorials, and a platform for automation enthusiasts to learn and collaborate.


## **License**

This project is licensed under the [MIT License](https://choosealicense.com/licenses/mit/), which means you're free to modify, distribute, and use the code in your own projects.