I've created a simple example for you.
I did the following
Changed style= to class= style is only used for inline styles.
I added the class .block to the divs so you can target them together
I moved the img to the first block so you can set it relative to that container (also why I added position: relative to the .block class
After that I absolutly position the image relative to it's parent. Because i know the image is going to be 150px height I can give it bottom: -75px to place it halfway.
Then I've added left: 50%; transform: translatex(-50%); to position in the abosolute middle of the container.
z-index: 2; is so it comes behind the second .block
.block {
width: 100%;
height: 300px;
position: relative;
}
img {
position: absolute;
bottom: -75px;
z-index: 2;
left: 50%;
transform: translatex(-50%);
}
.bg-gray{
background-color:gray;
}
.bg-white{
background-color:white;
}
<div class='block bg-gray'>
<img src='https://via.placeholder.com/150'>
</div>
<div class='block bg-white'>
</div>