If you have a certain understanding of Ruby, learning these frameworks will let you experience the power and flexibility of Ruby; if you are a beginner, don’t worry, follow my steps, and you will find it’s not as difficult as you imagined.
Tip: Make sure your computer has ImageMagick installed. If not, you can visit the ImageMagick official website to download and install it.
bash copy
gem install mini_magick
ruby copy
require 'mini_magick'
puts MiniMagick::Tool::Magick.new.version
If the version number of ImageMagick is successfully output, congratulations, the preparation is complete!
Now let’s start processing images. Suppose we have an image example.jpg
, and we want to open it with Ruby, resize it, and save it as another image.
ruby copy
require 'mini_magick'
image = MiniMagick::Image.open("example.jpg")
image.resize "100x100"
image.write "example_resized.jpg"
puts "Image has been processed and saved as example_resized.jpg"
Code Analysis:
-
MiniMagick::Image.open
is used to load the image. -
resize
method can resize the image to the specified dimensions, here scaled to100x100
. -
write
method saves the processed image as a new file.
Small Exercise: Try modifying the code to resize the image to other dimensions, such as 200x300
.
We can use MiniMagick to add some filter effects to the image, such as adjusting brightness or contrast, or even adding a blur effect.
ruby copy
require 'mini_magick'
image = MiniMagick::Image.open("example.jpg")
image.combine_options do |c|
end
image.blur "0x8"
image.write "example_filtered.jpg"
puts "Image has been filtered and saved as example_filtered.jpg"
Code Analysis:
-
combine_options
method allows us to combine multiple operations. -
brightness_contrast
is used to adjust the brightness and contrast of the image. -
blur
method can add a blur effect to the image.
Small Tip: When adjusting brightness and contrast, try different parameters, such as "0x50"
or "20x10"
, and observe the changes in the image.
bash copy
gem install rtesseract
At the same time, you need to install Tesseract OCR. You can visit the Tesseract OCR official website to download and install it.
ruby copy
require 'rtesseract'
image = RTesseract.new("text_image.png")
text = image.to_s
puts "Recognition result:"
puts text
Code Analysis:
-
RTesseract.new
is used to load the image. -
to_s
method returns the recognized text.
Practical Application Scenario: OCR technology can be used to scan documents, recognize handwriting, or text in images.
To better understand, we set some small exercises to encourage you to practice:
-
Try to crop the image using MiniMagick (crop to a 200×200 square). -
Try using RTesseract to recognize text in an image and save the recognition result to a text file. -
Convert the image to grayscale and save the processed result.
ruby copy
require 'mini_magick'
image = MiniMagick::Image.open("example.jpg")
image.write "example_cropped.jpg"
puts "Image has been cropped and saved as example_cropped.jpg"
Today we learned how to use the MiniMagick and RTesseract libraries in Ruby for simple visual computing and image recognition tasks. We started with installing tools and gradually achieved loading images, resizing, applying filters, and text recognition. Through these cases, you can feel the potential of Ruby in the field of image processing.
Next time, we can further explore how to perform more complex visual computing with Ruby, such as facial recognition or image classification. If you have any questions, don’t forget to come back here for reference or ask me.
Try it out, and have fun!
( )