Solution 1:
You can use a div to wrap the image and the text in and use text-align: center along with vertical-align: middle.
.center-img,
.center-txt {
  display: inline-block;
  vertical-align: middle;
}
#wrapper {
  text-align: center;
  border: 1px solid red;
}
<div id="wrapper">
  <img src="http://placehold.it/100x100" class="center-img" />
  <div class="center-txt">
    <h1>Home</h1>
  </div>
</div>
 
 
Solution 2:
Alternatively, you can use a div to wrap the image and the text in and use flexbox. Use justify-content to center your elements horizontally and align-items: center to align them vertically.
.center-img,
.center-txt {
  display: inline-block;
}
#wrapper {
  display: flex;
  justify-content: center;
  align-items: center;
  border: 1px solid red;
}
<div id="wrapper">
  <img src="http://placehold.it/100x100" class="center-img" />
  <div class="center-txt">
    <h1>Home</h1>
  </div>
</div>
 
 
Now to center the above wrapper to the middle of the screen you can use:
#wrapper {
   position: fixed;
   top: 50%;
   left: 50%;
   transform: translate(-50%, -50%);
}
Example:
.center-img,
.center-txt {
  display: inline-block;
}
#wrapper {
  display: flex;
  justify-content: center;
  align-items: center;
  border: 1px solid red;
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
<div id="wrapper">
  <img src="http://placehold.it/100x100" class="center-img" />
  <div class="center-txt">
    <h1>Home</h1>
  </div>
</div>