yahboom
HomeLearn
Solution
Blog
Online Store
About Us
EN/中文
DOGZILLA-Lite📖
1. Get started quickly
  • 0. Notes (Must Read)new
  • 1. Main interface function experience (cm5)new
  • 1. Main interface function experience(cm4)
  • 2. APP control experience
  • 3. Web page image transmission control
  • 4. LLM-Embodied Intelligence Capabilities
  • 5. LLM-Smart Dog Capabilities
2. Basic operations of Raspberry Pi system
  • 1.SSH remote login
  • 2.VNC remote login desktop
  • 3.Remote file transfer
  • 4.JupyterLab environment construction and use
  • 5.Burn the system image
  • 6.Connect to WiFi
  • 7.Close large programs
  • 8.Raspberry Pi system expansion
3. Basic control of the dogzilla
  • 0. Introduction to DOGZILLA-Lite
  • 1. Screen display control
  • 2. Record Audio
  • 3. Play Audio
  • 4. Text to audio
  • 5. Voice to text
  • 6. Record Video
  • 7. Play Video
  • 8. Video recording function
  • 9. Read the posture angle
  • 10. Battery level reading
  • 11. Read the servo angle
  • 12. Screen display of expressions
  • 13. Calibration of the robot dog
  • 14. Burn the firmware
  • 15. Analysis of common problems
4. Motion control of the dogzilla
  • 1. The dog's forward, backward, left, and right movements and gait
  • 2. Dog Spin
  • 3. The dog adjusts its height and posture
  • 4. Dog periodic translation and rotation
  • 5. Self-balancing mode
  • 6. The dog performs preset actions
  • 7. Single Leg Control
  • 8. Robotic arm control
  • 9. Teaching mode
  • 10. Group Control Performance
  • 11. Teaching demonstration onlinenew
5. Open Source CV
A. Getting started with OpenCV
  • 1. Introduction to OpenCV
  • 2. OpenCV image reading and display
  • 3. OpenCV image writing
  • 4. OpenCV Image Quality
  • 5.OpenCV pixel operations
B. OpenCV geometric transformation
  • 1. Image scaling
  • 2. Image cutting
  • 3. Image translation
  • 4. Image mirroring
  • 5. Affine Transformation
  • 6. Image Rotation
  • 7. Perspective Transformation
C. OpenCV image processing and drawing text segments
  • 1. Grayscale processing
  • 2. Image Binarization
  • 3. Edge Detection
  • 4. Line drawing
  • 5. Rectangle and circle drawing
  • 6. Text and picture drawing
D. Image beautification
  • 1. Color Image Histogram
  • 2. Histogram Equalization
  • 3. Image repair
  • 4. Brightness enhancement
  • 5. Skin whitening
  • 6. Gaussian mean filtering
  • 7. Median Filter
6. AI recognition of the dogzilla
  • 1. Camera driver tutorial
  • 2. Color recognition
  • 3. HSV value test
  • 4. Object Recognition
  • 5. QR code recognition
  • 6. License Plate Recognition
  • 7. Human Pose Estimation
  • 8. Yolo detection
  • 9. Face Detection
  • 10. Human face mask
  • 11. Face effects
  • 12. 3D Object Recognition
  • 13. Paintbrush
  • 14. Finger recognition
  • 15. Gesture Recognition
  • 16. Age and gender identification
  • 17. Background Segmentation
  • 18. Facial Recognitionnew
  • 19. Emotion Recognitionnew
  • 20. Motion Detectionnew
7. Dogzilla AI Interaction
  • 1. Color patrol
  • 2. Line patrol and obstacle removal
  • 3. Color tracking
  • 4. Ball tracking
  • 5. The ball follows
  • 6. QR code recognition exercise
  • 7. Face tracking
  • 8. Remote control
  • 9. Gesture tracking
  • 10. Gesture-controlled movement
  • 11. You Drop, I Pick
  • 12. Independent football exercise
  • 13. Human Body Followingnew
8. AI large model interaction
  • 0.AI large model principle foundation
  • 1.Large model premise use configuration
  • 2.Q&A
  • 3.Embodied intelligence
  • 4.Smart dog
  • 5.Picture to text
  • 6.Intelligent interaction
  • 7.Voice intelligent vision
  • 8.Playing football
  • 9.Block gripping
  • 10.Line tracking and obstacle removal
  • 11.Control object tracking
Download
  • System_File
  • Code
  • Firmware
  • Communication interface
  • Instruction Manual
  • Appendix
Download ZIP

Welcome to DOGZILLA-Lite repository

1. Color Image Histogram

1. Color image histogram

1. Color image histogram1.1. Color image histogram1.2 Actual effect display

1.1. Color image histogram

The color histogram refers to the color distribution in an image. It has nothing to do with the specific objects in the image. It is only used to indicate the color distribution in the image observed by the human eye, for example, how much red accounts for in a picture, how much green accounts for, etc.

We know that computer color displays use the principle of R, G, and B additive color mixing. By emitting three electron beams of different intensities, the red, green, and blue phosphorescent materials covered on the inside of the screen emit light to produce colors. In the RGB color space, any color light F can be added and mixed by different components of the three colors RGB. In other words, the color value of each pixel in the image can be represented by a ternary value (R, G, B), for example, (0, 0, 0) represents black, (0, 0, 255) represents blue, ... The size of each component ranges from 0 to 255.

So, we can know that a color image can be stacked by three channels of R, G, and B. You can imagine stacking three pieces of paper of the same size, and the image that the human eye sees from top to bottom is the original color image. Here, assuming that the image resolution is 320x240, then each channel is 320 long and 240 wide, the unit is pixel, and the total number of pixels is 3x320x240.

Method 1:

Use the pyplot sub-library of matplotlib to implement it, which provides a drawing framework similar to Matlab. Matplotlib is a very powerful and basic Python drawing package. The histogram is mainly called by the hist() function, which draws the histogram according to the data source and pixel level.

The form of the hist() function is as follows:

hist(data source, pixel level)

Among them, the parameters are:

Data source: must be a one-dimensional array, usually the image needs to be straightened through the ravel() function

Pixel level: generally 256, indicating [0, 255]

The ravel() function reduces a multidimensional array to a one-dimensional array, and its format is:

One-dimensional array = multidimensional array.ravel()

eg: plt.hist(img.ravel(), 256) #ravel() reduces two-dimensional to one-dimensional Grouping of 256 gray levels

Method 2:

The function provided by OpenCV is:

cv2.calcHist(image,channels,mask,histSize,ranges[,hist[,accumulate]])

This function has 5 parameters:

image: input image, which should be enclosed in brackets [] when passed in

channels: the channel of the passed image. If it is a grayscale image, then it goes without saying that there is only one channel with a value of 0. If it is a color image (with 3 channels), then the value is 0, 1, 2, and one of them corresponds to each BGR channel. This value must also be passed in with [].

mask: mask image. If the whole image is counted, it is none. Mainly, if you want to count the histogram of part of the image, you have to construct the corresponding mask to calculate.

histSize: the number of gray levels, requires brackets, such as [256]

ranges: the range of pixel values, usually [0,256]. If some images are not 0-256, for example, if you transform back and forth and cause the pixel values to be negative or large, you need to adjust them.

1.2 Actual effect display

Source code path:

/home/pi/DOGZILLA_Lite_class/4.Open Source CV/D.Image_Enhancement/01_Color_Image_Histogram.ipynb

​x
import cv2
import numpy as np
import matplotlib.pyplot as plt
​
img = cv2.imread('Road_test.jpg', 1)
img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
plt.imshow(img)
plt.show()

xxxxxxxxxx
plt.hist(img.ravel(), 256)   #ravel() 二维降一维  256灰度级的分组情况 2D to 1D Grouping of 256 gray levels
plt.show()

xxxxxxxxxx
histb = cv2.calcHist([img], [1], None, [256], [0, 255])
plt.plot(histb, color='b')
plt.show()

Text and picture drawing
Histogram Equalization

COMPANY

  • About us
  • Team Style
  • Blog

LEARNING & EXPLORATION

  • Tutorials
  • Edge AI hardware
  • Educational robots
  • Embedded intelligent hardware

WHERE TO BUY

  • Yahboom Online Store
  • Amazon
  • Alibaba
  • AliExpress
  • Mercado

TECHNOLOGY SUPPORT

  • Email: support@yahboom.com

BE A DISTRIBUTOR

  • Email: sales@yahboom.com
QR Code

Copyright © 2017-2026 Yahboom. All Rights Reserved.

EN/中文